<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>libyubihsm: yubihsm.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">libyubihsm
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="headertitle">
<div class="title">yubihsm.h</div>  </div>
</div><!--header-->
<div class="contents">
<a href="yubihsm_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment"> * Copyright 2015-2018 Yubico AB</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment"> * Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);</span></div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment"> * you may not use this file except in compliance with the License.</span></div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment"> * You may obtain a copy of the License at</span></div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment"> * http://www.apache.org/licenses/LICENSE-2.0</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment"> * Unless required by applicable law or agreed to in writing, software</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment"> * distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment"> * See the License for the specific language governing permissions and</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment"> * limitations under the License.</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;</div><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;<span class="preprocessor">#ifndef YUBIHSM_H</span></div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="preprocessor">#define YUBIHSM_H</span></div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;</div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<span class="preprocessor">#include &lt;stdint.h&gt;</span></div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="preprocessor">#include &lt;stdbool.h&gt;</span></div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;<span class="preprocessor">#include &lt;stddef.h&gt;</span></div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;<span class="preprocessor">#include &lt;stdio.h&gt;</span></div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;</div><div class="line"><a name="l00089"></a><span class="lineno"><a class="line" href="yubihsm_8h.html#afbeafba1cc9582217f57f058a7efd200">   89</a></span>&#160;<span class="preprocessor">#define YH_CONTEXT_LEN 16</span></div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;<span class="preprocessor">#define YH_HOST_CHAL_LEN 8</span></div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;<span class="preprocessor">#define YH_MSG_BUF_SIZE 2048</span></div><div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;<span class="preprocessor">#define YH_KEY_LEN 16</span></div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;<span class="preprocessor">#define YH_VID 0x1050</span></div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;<span class="preprocessor">#define YH_PID 0x0030</span></div><div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;<span class="preprocessor">#define YH_CMD_RESP_FLAG 0x80</span></div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;<span class="preprocessor">#define YH_MAX_ITEMS_COUNT 256</span></div><div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;<span class="preprocessor">#define YH_MAX_SESSIONS 16</span></div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;<span class="preprocessor">#define YH_DEFAULT_ENC_KEY                                                     \</span></div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;<span class="preprocessor">  &quot;\x09\x0b\x47\xdb\xed\x59\x56\x54\x90\x1d\xee\x1c\xc6\x55\xe4\x20&quot;</span></div><div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;<span class="preprocessor">#define YH_DEFAULT_MAC_KEY                                                     \</span></div><div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;<span class="preprocessor">  &quot;\x59\x2f\xd4\x83\xf7\x59\xe2\x99\x09\xa0\x4c\x45\x05\xd2\xce\x0a&quot;</span></div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;<span class="preprocessor">#define YH_DEFAULT_PASSWORD &quot;password&quot;</span></div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;<span class="preprocessor">#define YH_DEFAULT_SALT &quot;Yubico&quot;</span></div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;<span class="preprocessor">#define YH_DEFAULT_ITERS 10000</span></div><div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;<span class="preprocessor">#define YH_CAPABILITIES_LEN 8</span></div><div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;<span class="preprocessor">#define YH_MAX_LOG_ENTRIES 64</span></div><div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;<span class="preprocessor">#define YH_OBJ_LABEL_LEN 40</span></div><div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;<span class="preprocessor">#define YH_MAX_DOMAINS 16</span></div><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;<span class="preprocessor">#define YH_LOG_DIGEST_SIZE 16</span></div><div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;<span class="preprocessor">#define YH_USB_URL_SCHEME &quot;yhusb://&quot;</span></div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;</div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;<span class="comment">// Debug levels</span></div><div class="line"><a name="l00133"></a><span class="lineno"><a class="line" href="yubihsm_8h.html#aa11030bbf6092d8934236958e9478084">  133</a></span>&#160;<span class="comment"></span><span class="preprocessor">#define YH_VERB_QUIET 0x00</span></div><div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;<span class="preprocessor">#define YH_VERB_INTERMEDIATE 0x01</span></div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;<span class="preprocessor">#define YH_VERB_CRYPTO 0x02</span></div><div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;<span class="preprocessor">#define YH_VERB_RAW 0x04</span></div><div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;<span class="preprocessor">#define YH_VERB_INFO 0x08</span></div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<span class="preprocessor">#define YH_VERB_ERR 0x10</span></div><div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;<span class="preprocessor">#define YH_VERB_ALL 0xff</span></div><div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;</div><div class="line"><a name="l00149"></a><span class="lineno"><a class="line" href="yubihsm_8h.html#a70eafb443aa16eaee3a683e21f0b001a">  149</a></span>&#160;<span class="preprocessor">#define YH_CCM_WRAP_OVERHEAD (1 + 13 + 16)</span></div><div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;</div><div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;<span class="preprocessor">#ifdef __cplusplus</span></div><div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;<span class="keyword">extern</span> <span class="stringliteral">&quot;C&quot;</span> {</div><div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;</div><div class="line"><a name="l00156"></a><span class="lineno"><a class="line" href="yubihsm_8h.html#a114f98fee4b67eadd9b89b675632c710">  156</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="yubihsm_8h.html#a114f98fee4b67eadd9b89b675632c710">yh_connector</a> <a class="code" href="yubihsm_8h.html#a114f98fee4b67eadd9b89b675632c710">yh_connector</a>;</div><div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;</div><div class="line"><a name="l00159"></a><span class="lineno"><a class="line" href="yubihsm_8h.html#aa3420d8ccc1fb0b0dee1af5a53cc79de">  159</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="yubihsm_8h.html#aa3420d8ccc1fb0b0dee1af5a53cc79de">yh_session</a> <a class="code" href="yubihsm_8h.html#aa3420d8ccc1fb0b0dee1af5a53cc79de">yh_session</a>;</div><div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;</div><div class="line"><a name="l00162"></a><span class="lineno"><a class="line" href="structyh__capabilities.html">  162</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span>{</div><div class="line"><a name="l00164"></a><span class="lineno"><a class="line" href="structyh__capabilities.html#a5398bad7e61385aa127265ba0a053079">  164</a></span>&#160;  uint8_t capabilities[<a class="code" href="yubihsm_8h.html#ad3c904849d17cae0a6f426e8007731d7">YH_CAPABILITIES_LEN</a>];</div><div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;} <a class="code" href="structyh__capabilities.html">yh_capabilities</a>;</div><div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;</div><div class="line"><a name="l00170"></a><span class="lineno"><a class="line" href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366">  170</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">enum</span> {</div><div class="line"><a name="l00172"></a><span class="lineno"><a class="line" href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366a405155512dc2284dc210ed15be1d0815">  172</a></span>&#160;  <a class="code" href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366a405155512dc2284dc210ed15be1d0815">YHR_SUCCESS</a> = 0,</div><div class="line"><a name="l00174"></a><span class="lineno"><a class="line" href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366a75ea079345046cdbf5612bf9065d8711">  174</a></span>&#160;  <a class="code" href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366a75ea079345046cdbf5612bf9065d8711">YHR_MEMORY_ERROR</a> = -1,</div><div class="line"><a name="l00176"></a><span class="lineno"><a class="line" href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366a1f84ab50c839e0cd6d5b1104a78da569">  176</a></span>&#160;  <a class="code" href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366a1f84ab50c839e0cd6d5b1104a78da569">YHR_INIT_ERROR</a> = -2,</div><div class="line"><a name="l00178"></a><span class="lineno"><a class="line" href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366ae4f6537a9d33914ea06c53b015d92ca8">  178</a></span>&#160;  <a class="code" href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366ae4f6537a9d33914ea06c53b015d92ca8">YHR_CONNECTION_ERROR</a> = -3,</div><div class="line"><a name="l00180"></a><span class="lineno"><a class="line" href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366abde0e2f8ca12b6758b246b14a86df11b">  180</a></span>&#160;  <a class="code" href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366abde0e2f8ca12b6758b246b14a86df11b">YHR_CONNECTOR_NOT_FOUND</a> = -4,</div><div class="line"><a name="l00182"></a><span class="lineno"><a class="line" href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366a731b3992b45fde61b6760d92de4dbbf5">  182</a></span>&#160;  <a class="code" href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366a731b3992b45fde61b6760d92de4dbbf5">YHR_INVALID_PARAMETERS</a> = -5,</div><div class="line"><a name="l00185"></a><span class="lineno"><a class="line" href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366ae0b26dcb22aa228ab08c9e59a8975952">  185</a></span>&#160;  <a class="code" href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366ae0b26dcb22aa228ab08c9e59a8975952">YHR_WRONG_LENGTH</a> = -6,</div><div class="line"><a name="l00187"></a><span class="lineno"><a class="line" href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366ad8971a0b9647564b76b3f4e4b662c965">  187</a></span>&#160;  <a class="code" href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366ad8971a0b9647564b76b3f4e4b662c965">YHR_BUFFER_TOO_SMALL</a> = -7,</div><div class="line"><a name="l00189"></a><span class="lineno"><a class="line" href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366afa1bb1b6e469608a295dcc21a7b23608">  189</a></span>&#160;  <a class="code" href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366afa1bb1b6e469608a295dcc21a7b23608">YHR_CRYPTOGRAM_MISMATCH</a> = -8,</div><div class="line"><a name="l00191"></a><span class="lineno"><a class="line" href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366af8d55718c98750591e891a37409c9266">  191</a></span>&#160;  <a class="code" href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366af8d55718c98750591e891a37409c9266">YHR_SESSION_AUTHENTICATION_FAILED</a> = -9,</div><div class="line"><a name="l00193"></a><span class="lineno"><a class="line" href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366adaa2d37fe61d15e17fdea17586ebfbcd">  193</a></span>&#160;  <a class="code" href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366adaa2d37fe61d15e17fdea17586ebfbcd">YHR_MAC_MISMATCH</a> = -10,</div><div class="line"><a name="l00195"></a><span class="lineno"><a class="line" href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366aea70a2fed59f51d794e77a52a0c27db0">  195</a></span>&#160;  <a class="code" href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366aea70a2fed59f51d794e77a52a0c27db0">YHR_DEVICE_OK</a> = -11,</div><div class="line"><a name="l00197"></a><span class="lineno"><a class="line" href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366a840bcd92d9959f2075c01437cc49371e">  197</a></span>&#160;  <a class="code" href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366a840bcd92d9959f2075c01437cc49371e">YHR_DEVICE_INVALID_COMMAND</a> = -12,</div><div class="line"><a name="l00199"></a><span class="lineno"><a class="line" href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366ab7388c97719517ba2f7e43d3d16850e1">  199</a></span>&#160;  <a class="code" href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366ab7388c97719517ba2f7e43d3d16850e1">YHR_DEVICE_INVALID_DATA</a> = -13,</div><div class="line"><a name="l00201"></a><span class="lineno"><a class="line" href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366a36bb9a78d1e8eda6adcf8fb3eff2bf9d">  201</a></span>&#160;  <a class="code" href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366a36bb9a78d1e8eda6adcf8fb3eff2bf9d">YHR_DEVICE_INVALID_SESSION</a> = -14,</div><div class="line"><a name="l00203"></a><span class="lineno"><a class="line" href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366a9fdf081102d4876da3b7bc9986cdbef8">  203</a></span>&#160;  <a class="code" href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366a9fdf081102d4876da3b7bc9986cdbef8">YHR_DEVICE_AUTHENTICATION_FAILED</a> = -15,</div><div class="line"><a name="l00205"></a><span class="lineno"><a class="line" href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366a8d74af61b564f459e4992436499f837c">  205</a></span>&#160;  <a class="code" href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366a8d74af61b564f459e4992436499f837c">YHR_DEVICE_SESSIONS_FULL</a> = -16,</div><div class="line"><a name="l00207"></a><span class="lineno"><a class="line" href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366a9884874ed5a0938ac9ddeec502585fc1">  207</a></span>&#160;  <a class="code" href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366a9884874ed5a0938ac9ddeec502585fc1">YHR_DEVICE_SESSION_FAILED</a> = -17,</div><div class="line"><a name="l00209"></a><span class="lineno"><a class="line" href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366ac2fc63d180fd4b31e93695a75bd89e72">  209</a></span>&#160;  <a class="code" href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366ac2fc63d180fd4b31e93695a75bd89e72">YHR_DEVICE_STORAGE_FAILED</a> = -18,</div><div class="line"><a name="l00212"></a><span class="lineno"><a class="line" href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366ae22388bb4f7dd6a83e36b5789008cd39">  212</a></span>&#160;  <a class="code" href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366ae22388bb4f7dd6a83e36b5789008cd39">YHR_DEVICE_WRONG_LENGTH</a> = -19,</div><div class="line"><a name="l00214"></a><span class="lineno"><a class="line" href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366a2d814fba9f3dbdcb892f92adee1d945c">  214</a></span>&#160;  <a class="code" href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366a2d814fba9f3dbdcb892f92adee1d945c">YHR_DEVICE_INSUFFICIENT_PERMISSIONS</a> = -20,</div><div class="line"><a name="l00216"></a><span class="lineno"><a class="line" href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366aa71078f32dee465f1156c337c7e4610e">  216</a></span>&#160;  <a class="code" href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366aa71078f32dee465f1156c337c7e4610e">YHR_DEVICE_LOG_FULL</a> = -21,</div><div class="line"><a name="l00218"></a><span class="lineno"><a class="line" href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366a9bc4026d75a26dcaa51ba3310d6b8393">  218</a></span>&#160;  <a class="code" href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366a9bc4026d75a26dcaa51ba3310d6b8393">YHR_DEVICE_OBJECT_NOT_FOUND</a> = -22,</div><div class="line"><a name="l00220"></a><span class="lineno"><a class="line" href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366af5f013b1143c6e430778faaca1592e50">  220</a></span>&#160;  <a class="code" href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366af5f013b1143c6e430778faaca1592e50">YHR_DEVICE_INVALID_ID</a> = -23,</div><div class="line"><a name="l00222"></a><span class="lineno"><a class="line" href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366aad5480151e2d8e8caadb6c85d0567265">  222</a></span>&#160;  <a class="code" href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366aad5480151e2d8e8caadb6c85d0567265">YHR_DEVICE_INVALID_OTP</a> = -24,</div><div class="line"><a name="l00224"></a><span class="lineno"><a class="line" href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366ab45152628f7dec50379da96a042b9e71">  224</a></span>&#160;  <a class="code" href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366ab45152628f7dec50379da96a042b9e71">YHR_DEVICE_DEMO_MODE</a> = -25,</div><div class="line"><a name="l00226"></a><span class="lineno"><a class="line" href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366a45c1eb30625a88593aadff037d48454b">  226</a></span>&#160;  <a class="code" href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366a45c1eb30625a88593aadff037d48454b">YHR_DEVICE_COMMAND_UNEXECUTED</a> = -26,</div><div class="line"><a name="l00228"></a><span class="lineno"><a class="line" href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366a39fbc5bce29b178582419ae9d31ad252">  228</a></span>&#160;  <a class="code" href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366a39fbc5bce29b178582419ae9d31ad252">YHR_GENERIC_ERROR</a> = -27,</div><div class="line"><a name="l00230"></a><span class="lineno"><a class="line" href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366ad28a1a4679841fd8a7388c8b7981d5db">  230</a></span>&#160;  <a class="code" href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366ad28a1a4679841fd8a7388c8b7981d5db">YHR_DEVICE_OBJECT_EXISTS</a> = -28,</div><div class="line"><a name="l00232"></a><span class="lineno"><a class="line" href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366ad9339b4f96ca48d9c987ce1e05596fe9">  232</a></span>&#160;  <a class="code" href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366ad9339b4f96ca48d9c987ce1e05596fe9">YHR_CONNECTOR_ERROR</a> = -29,</div><div class="line"><a name="l00234"></a><span class="lineno"><a class="line" href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366ae6b1a467cd82c64277c85b298ef1934b">  234</a></span>&#160;  <a class="code" href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366ae6b1a467cd82c64277c85b298ef1934b">YHR_DEVICE_SSH_CA_CONSTRAINT_VIOLATION</a> = -30,</div><div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;} <a class="code" href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366">yh_rc</a>;</div><div class="line"><a name="l00236"></a><span class="lineno">  236</span>&#160;</div><div class="line"><a name="l00238"></a><span class="lineno"><a class="line" href="yubihsm_8h.html#a66a09b99268fe27ce71f7f3e69878ec6">  238</a></span>&#160;<span class="preprocessor">#define ADD_COMMAND(c, v) c = v, c##_R = v | YH_CMD_RESP_FLAG</span></div><div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;</div><div class="line"><a name="l00243"></a><span class="lineno"><a class="line" href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7e">  243</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">enum</span> {</div><div class="line"><a name="l00245"></a><span class="lineno"><a class="line" href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7eae6b3fe5caff1ded14a3cd9b708ce933b">  245</a></span>&#160;  <a class="code" href="yubihsm_8h.html#a66a09b99268fe27ce71f7f3e69878ec6">ADD_COMMAND</a>(<a class="code" href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7eae6b3fe5caff1ded14a3cd9b708ce933b">YHC_ECHO</a>, 0x01),</div><div class="line"><a name="l00247"></a><span class="lineno"><a class="line" href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7ea7a24521b80c5a1221039476dacdcaf27">  247</a></span>&#160;  <a class="code" href="yubihsm_8h.html#a66a09b99268fe27ce71f7f3e69878ec6">ADD_COMMAND</a>(<a class="code" href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7ea7a24521b80c5a1221039476dacdcaf27">YHC_CREATE_SESSION</a>, 0x03),</div><div class="line"><a name="l00249"></a><span class="lineno"><a class="line" href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7eacb4ef61bb1599fd1a114293a221605a1">  249</a></span>&#160;  <a class="code" href="yubihsm_8h.html#a66a09b99268fe27ce71f7f3e69878ec6">ADD_COMMAND</a>(<a class="code" href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7eacb4ef61bb1599fd1a114293a221605a1">YHC_AUTHENTICATE_SESSION</a>, 0x04),</div><div class="line"><a name="l00251"></a><span class="lineno"><a class="line" href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7ea99440ca6f76ab150f569f48d2d0bcd25">  251</a></span>&#160;  <a class="code" href="yubihsm_8h.html#a66a09b99268fe27ce71f7f3e69878ec6">ADD_COMMAND</a>(<a class="code" href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7ea99440ca6f76ab150f569f48d2d0bcd25">YHC_SESSION_MESSAGE</a>, 0x05),</div><div class="line"><a name="l00253"></a><span class="lineno"><a class="line" href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7eace06d0b43a2a80581100cf1776a38f0e">  253</a></span>&#160;  <a class="code" href="yubihsm_8h.html#a66a09b99268fe27ce71f7f3e69878ec6">ADD_COMMAND</a>(<a class="code" href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7eace06d0b43a2a80581100cf1776a38f0e">YHC_GET_DEVICE_INFO</a>, 0x06),</div><div class="line"><a name="l00255"></a><span class="lineno"><a class="line" href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7ea5320ce29ed6d254f22377dac1abb89c3">  255</a></span>&#160;  <a class="code" href="yubihsm_8h.html#a66a09b99268fe27ce71f7f3e69878ec6">ADD_COMMAND</a>(<a class="code" href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7ea5320ce29ed6d254f22377dac1abb89c3">YHC_RESET_DEVICE</a>, 0x08),</div><div class="line"><a name="l00257"></a><span class="lineno"><a class="line" href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7eaa146b6b0d6fa832d9cd3ed412e2fb0c0">  257</a></span>&#160;  <a class="code" href="yubihsm_8h.html#a66a09b99268fe27ce71f7f3e69878ec6">ADD_COMMAND</a>(<a class="code" href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7eaa146b6b0d6fa832d9cd3ed412e2fb0c0">YHC_CLOSE_SESSION</a>, 0x40),</div><div class="line"><a name="l00259"></a><span class="lineno"><a class="line" href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7ea2b9aae2f08a49e1305f64c7a5649ed3c">  259</a></span>&#160;  <a class="code" href="yubihsm_8h.html#a66a09b99268fe27ce71f7f3e69878ec6">ADD_COMMAND</a>(<a class="code" href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7ea2b9aae2f08a49e1305f64c7a5649ed3c">YHC_GET_STORAGE_INFO</a>, 0x041),</div><div class="line"><a name="l00261"></a><span class="lineno"><a class="line" href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7ea08ea37d765609e7663719a12f6f4fe8c">  261</a></span>&#160;  <a class="code" href="yubihsm_8h.html#a66a09b99268fe27ce71f7f3e69878ec6">ADD_COMMAND</a>(<a class="code" href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7ea08ea37d765609e7663719a12f6f4fe8c">YHC_PUT_OPAQUE</a>, 0x42),</div><div class="line"><a name="l00263"></a><span class="lineno"><a class="line" href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7ea84c5fd3021700d84b73f734aa1f8f626">  263</a></span>&#160;  <a class="code" href="yubihsm_8h.html#a66a09b99268fe27ce71f7f3e69878ec6">ADD_COMMAND</a>(<a class="code" href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7ea84c5fd3021700d84b73f734aa1f8f626">YHC_GET_OPAQUE</a>, 0x43),</div><div class="line"><a name="l00265"></a><span class="lineno"><a class="line" href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7eafb7d9a86be4529c63a0eb8bca46c3c8f">  265</a></span>&#160;  <a class="code" href="yubihsm_8h.html#a66a09b99268fe27ce71f7f3e69878ec6">ADD_COMMAND</a>(<a class="code" href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7eafb7d9a86be4529c63a0eb8bca46c3c8f">YHC_PUT_AUTHENTICATION_KEY</a>, 0x44),</div><div class="line"><a name="l00267"></a><span class="lineno"><a class="line" href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7eaabc6fa169e75105a6878311899a08176">  267</a></span>&#160;  <a class="code" href="yubihsm_8h.html#a66a09b99268fe27ce71f7f3e69878ec6">ADD_COMMAND</a>(<a class="code" href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7eaabc6fa169e75105a6878311899a08176">YHC_PUT_ASYMMETRIC_KEY</a>, 0x45),</div><div class="line"><a name="l00269"></a><span class="lineno"><a class="line" href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7ea3adc1455f48e24dadace769e09ae99ef">  269</a></span>&#160;  <a class="code" href="yubihsm_8h.html#a66a09b99268fe27ce71f7f3e69878ec6">ADD_COMMAND</a>(<a class="code" href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7ea3adc1455f48e24dadace769e09ae99ef">YHC_GENERATE_ASYMMETRIC_KEY</a>, 0x46),</div><div class="line"><a name="l00271"></a><span class="lineno"><a class="line" href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7ea7e18aa1f59c84afedacd7a2c770de599">  271</a></span>&#160;  <a class="code" href="yubihsm_8h.html#a66a09b99268fe27ce71f7f3e69878ec6">ADD_COMMAND</a>(<a class="code" href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7ea7e18aa1f59c84afedacd7a2c770de599">YHC_SIGN_PKCS1</a>, 0x47),</div><div class="line"><a name="l00273"></a><span class="lineno"><a class="line" href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7eabd60dd90a002636168151e1ccf738bea">  273</a></span>&#160;  <a class="code" href="yubihsm_8h.html#a66a09b99268fe27ce71f7f3e69878ec6">ADD_COMMAND</a>(<a class="code" href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7eabd60dd90a002636168151e1ccf738bea">YHC_LIST_OBJECTS</a>, 0x48),</div><div class="line"><a name="l00275"></a><span class="lineno"><a class="line" href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7ea59f3cbf98c6bb349d9daceeebf1dfb6c">  275</a></span>&#160;  <a class="code" href="yubihsm_8h.html#a66a09b99268fe27ce71f7f3e69878ec6">ADD_COMMAND</a>(<a class="code" href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7ea59f3cbf98c6bb349d9daceeebf1dfb6c">YHC_DECRYPT_PKCS1</a>, 0x49),</div><div class="line"><a name="l00277"></a><span class="lineno"><a class="line" href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7eaa7faa69e574e88fd7811924cf68333e1">  277</a></span>&#160;  <a class="code" href="yubihsm_8h.html#a66a09b99268fe27ce71f7f3e69878ec6">ADD_COMMAND</a>(<a class="code" href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7eaa7faa69e574e88fd7811924cf68333e1">YHC_EXPORT_WRAPPED</a>, 0x4a),</div><div class="line"><a name="l00279"></a><span class="lineno"><a class="line" href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7ea8cfbbac56dcb89e8c368335425732818">  279</a></span>&#160;  <a class="code" href="yubihsm_8h.html#a66a09b99268fe27ce71f7f3e69878ec6">ADD_COMMAND</a>(<a class="code" href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7ea8cfbbac56dcb89e8c368335425732818">YHC_IMPORT_WRAPPED</a>, 0x4b),</div><div class="line"><a name="l00281"></a><span class="lineno"><a class="line" href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7ea196ea5e674cb57be9c44bca2fab0f648">  281</a></span>&#160;  <a class="code" href="yubihsm_8h.html#a66a09b99268fe27ce71f7f3e69878ec6">ADD_COMMAND</a>(<a class="code" href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7ea196ea5e674cb57be9c44bca2fab0f648">YHC_PUT_WRAP_KEY</a>, 0x4c),</div><div class="line"><a name="l00283"></a><span class="lineno"><a class="line" href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7ea407b7faa2abc38d9aa7cde15be1a40d6">  283</a></span>&#160;  <a class="code" href="yubihsm_8h.html#a66a09b99268fe27ce71f7f3e69878ec6">ADD_COMMAND</a>(<a class="code" href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7ea407b7faa2abc38d9aa7cde15be1a40d6">YHC_GET_LOG_ENTRIES</a>, 0x4d),</div><div class="line"><a name="l00285"></a><span class="lineno"><a class="line" href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7ead391e68b3b37284e15c419f11bcf54be">  285</a></span>&#160;  <a class="code" href="yubihsm_8h.html#a66a09b99268fe27ce71f7f3e69878ec6">ADD_COMMAND</a>(<a class="code" href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7ead391e68b3b37284e15c419f11bcf54be">YHC_GET_OBJECT_INFO</a>, 0x4e),</div><div class="line"><a name="l00287"></a><span class="lineno"><a class="line" href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7ea97eacb1db651a5a7b2db7911a2f5631c">  287</a></span>&#160;  <a class="code" href="yubihsm_8h.html#a66a09b99268fe27ce71f7f3e69878ec6">ADD_COMMAND</a>(<a class="code" href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7ea97eacb1db651a5a7b2db7911a2f5631c">YHC_SET_OPTION</a>, 0x4f),</div><div class="line"><a name="l00289"></a><span class="lineno"><a class="line" href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7eae350b6b86bec0e5760420288560e91c7">  289</a></span>&#160;  <a class="code" href="yubihsm_8h.html#a66a09b99268fe27ce71f7f3e69878ec6">ADD_COMMAND</a>(<a class="code" href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7eae350b6b86bec0e5760420288560e91c7">YHC_GET_OPTION</a>, 0x50),</div><div class="line"><a name="l00291"></a><span class="lineno"><a class="line" href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7ea5347898552fcefaf090e08d3f0fa16d1">  291</a></span>&#160;  <a class="code" href="yubihsm_8h.html#a66a09b99268fe27ce71f7f3e69878ec6">ADD_COMMAND</a>(<a class="code" href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7ea5347898552fcefaf090e08d3f0fa16d1">YHC_GET_PSEUDO_RANDOM</a>, 0x51),</div><div class="line"><a name="l00293"></a><span class="lineno"><a class="line" href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7ea4973a64a582232f5428e590d8a74a4ca">  293</a></span>&#160;  <a class="code" href="yubihsm_8h.html#a66a09b99268fe27ce71f7f3e69878ec6">ADD_COMMAND</a>(<a class="code" href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7ea4973a64a582232f5428e590d8a74a4ca">YHC_PUT_HMAC_KEY</a>, 0x52),</div><div class="line"><a name="l00295"></a><span class="lineno"><a class="line" href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7eaa746f3db48f68374bf0e1a3dbc743e25">  295</a></span>&#160;  <a class="code" href="yubihsm_8h.html#a66a09b99268fe27ce71f7f3e69878ec6">ADD_COMMAND</a>(<a class="code" href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7eaa746f3db48f68374bf0e1a3dbc743e25">YHC_SIGN_HMAC</a>, 0x53),</div><div class="line"><a name="l00297"></a><span class="lineno"><a class="line" href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7eadb02455455d591b5134c7d064b96940a">  297</a></span>&#160;  <a class="code" href="yubihsm_8h.html#a66a09b99268fe27ce71f7f3e69878ec6">ADD_COMMAND</a>(<a class="code" href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7eadb02455455d591b5134c7d064b96940a">YHC_GET_PUBLIC_KEY</a>, 0x54),</div><div class="line"><a name="l00299"></a><span class="lineno"><a class="line" href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7eafe1b7412c2ee2c70d95de3e5b187ce9b">  299</a></span>&#160;  <a class="code" href="yubihsm_8h.html#a66a09b99268fe27ce71f7f3e69878ec6">ADD_COMMAND</a>(<a class="code" href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7eafe1b7412c2ee2c70d95de3e5b187ce9b">YHC_SIGN_PSS</a>, 0x55),</div><div class="line"><a name="l00301"></a><span class="lineno"><a class="line" href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7ea3ed85c21f1f5cd1eb658a37686153c32">  301</a></span>&#160;  <a class="code" href="yubihsm_8h.html#a66a09b99268fe27ce71f7f3e69878ec6">ADD_COMMAND</a>(<a class="code" href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7ea3ed85c21f1f5cd1eb658a37686153c32">YHC_SIGN_ECDSA</a>, 0x56),</div><div class="line"><a name="l00303"></a><span class="lineno"><a class="line" href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7ea6924a3fe7f15d482eb15155229385e24">  303</a></span>&#160;  <a class="code" href="yubihsm_8h.html#a66a09b99268fe27ce71f7f3e69878ec6">ADD_COMMAND</a>(<a class="code" href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7ea6924a3fe7f15d482eb15155229385e24">YHC_DERIVE_ECDH</a>, 0x57),</div><div class="line"><a name="l00305"></a><span class="lineno"><a class="line" href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7ea103f15650d237a6d729eb591344beb27">  305</a></span>&#160;  <a class="code" href="yubihsm_8h.html#a66a09b99268fe27ce71f7f3e69878ec6">ADD_COMMAND</a>(<a class="code" href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7ea103f15650d237a6d729eb591344beb27">YHC_DELETE_OBJECT</a>, 0x58),</div><div class="line"><a name="l00307"></a><span class="lineno"><a class="line" href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7ea672606a4eaa485a944fc9b397dfb49fe">  307</a></span>&#160;  <a class="code" href="yubihsm_8h.html#a66a09b99268fe27ce71f7f3e69878ec6">ADD_COMMAND</a>(<a class="code" href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7ea672606a4eaa485a944fc9b397dfb49fe">YHC_DECRYPT_OAEP</a>, 0x59),</div><div class="line"><a name="l00309"></a><span class="lineno"><a class="line" href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7eaa8f4aa4e5858433726b93b4274ccde44">  309</a></span>&#160;  <a class="code" href="yubihsm_8h.html#a66a09b99268fe27ce71f7f3e69878ec6">ADD_COMMAND</a>(<a class="code" href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7eaa8f4aa4e5858433726b93b4274ccde44">YHC_GENERATE_HMAC_KEY</a>, 0x5a),</div><div class="line"><a name="l00311"></a><span class="lineno"><a class="line" href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7ea98073b13b11e1b6b8c949fdd55b5beb8">  311</a></span>&#160;  <a class="code" href="yubihsm_8h.html#a66a09b99268fe27ce71f7f3e69878ec6">ADD_COMMAND</a>(<a class="code" href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7ea98073b13b11e1b6b8c949fdd55b5beb8">YHC_GENERATE_WRAP_KEY</a>, 0x5b),</div><div class="line"><a name="l00313"></a><span class="lineno"><a class="line" href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7ea8eae52f5e9117bfa52f0a5fe7d7b70c7">  313</a></span>&#160;  <a class="code" href="yubihsm_8h.html#a66a09b99268fe27ce71f7f3e69878ec6">ADD_COMMAND</a>(<a class="code" href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7ea8eae52f5e9117bfa52f0a5fe7d7b70c7">YHC_VERIFY_HMAC</a>, 0x5c),</div><div class="line"><a name="l00315"></a><span class="lineno"><a class="line" href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7ea40c027d3259d249e93bc5af7cffa2ba8">  315</a></span>&#160;  <a class="code" href="yubihsm_8h.html#a66a09b99268fe27ce71f7f3e69878ec6">ADD_COMMAND</a>(<a class="code" href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7ea40c027d3259d249e93bc5af7cffa2ba8">YHC_SIGN_SSH_CERTIFICATE</a>, 0x5d),</div><div class="line"><a name="l00317"></a><span class="lineno"><a class="line" href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7ea254f1db08db6611467ac60080b8e1efb">  317</a></span>&#160;  <a class="code" href="yubihsm_8h.html#a66a09b99268fe27ce71f7f3e69878ec6">ADD_COMMAND</a>(<a class="code" href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7ea254f1db08db6611467ac60080b8e1efb">YHC_PUT_TEMPLATE</a>, 0x5e),</div><div class="line"><a name="l00319"></a><span class="lineno"><a class="line" href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7ea67689e095f98a1675a327645f277febe">  319</a></span>&#160;  <a class="code" href="yubihsm_8h.html#a66a09b99268fe27ce71f7f3e69878ec6">ADD_COMMAND</a>(<a class="code" href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7ea67689e095f98a1675a327645f277febe">YHC_GET_TEMPLATE</a>, 0x5f),</div><div class="line"><a name="l00321"></a><span class="lineno"><a class="line" href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7ea11337520933c31c92d84ade88832c428">  321</a></span>&#160;  <a class="code" href="yubihsm_8h.html#a66a09b99268fe27ce71f7f3e69878ec6">ADD_COMMAND</a>(<a class="code" href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7ea11337520933c31c92d84ade88832c428">YHC_DECRYPT_OTP</a>, 0x60),</div><div class="line"><a name="l00323"></a><span class="lineno"><a class="line" href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7ea9182160a3938ffc93f1a07fbfa77f5e9">  323</a></span>&#160;  <a class="code" href="yubihsm_8h.html#a66a09b99268fe27ce71f7f3e69878ec6">ADD_COMMAND</a>(<a class="code" href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7ea9182160a3938ffc93f1a07fbfa77f5e9">YHC_CREATE_OTP_AEAD</a>, 0x61),</div><div class="line"><a name="l00325"></a><span class="lineno"><a class="line" href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7ea8777e821f221c0be394e0fb1f13a411d">  325</a></span>&#160;  <a class="code" href="yubihsm_8h.html#a66a09b99268fe27ce71f7f3e69878ec6">ADD_COMMAND</a>(<a class="code" href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7ea8777e821f221c0be394e0fb1f13a411d">YHC_RANDOMIZE_OTP_AEAD</a>, 0x62),</div><div class="line"><a name="l00327"></a><span class="lineno"><a class="line" href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7eaab512a03e51cea5105117f93370d17f0">  327</a></span>&#160;  <a class="code" href="yubihsm_8h.html#a66a09b99268fe27ce71f7f3e69878ec6">ADD_COMMAND</a>(<a class="code" href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7eaab512a03e51cea5105117f93370d17f0">YHC_REWRAP_OTP_AEAD</a>, 0x63),</div><div class="line"><a name="l00329"></a><span class="lineno"><a class="line" href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7ea8943e0ac51e6518f85a77f1b3509d2af">  329</a></span>&#160;  <a class="code" href="yubihsm_8h.html#a66a09b99268fe27ce71f7f3e69878ec6">ADD_COMMAND</a>(<a class="code" href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7ea8943e0ac51e6518f85a77f1b3509d2af">YHC_SIGN_ATTESTATION_CERTIFICATE</a>, 0x64),</div><div class="line"><a name="l00331"></a><span class="lineno"><a class="line" href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7ea580f4a45e7fb32de7cea8475d3397500">  331</a></span>&#160;  <a class="code" href="yubihsm_8h.html#a66a09b99268fe27ce71f7f3e69878ec6">ADD_COMMAND</a>(<a class="code" href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7ea580f4a45e7fb32de7cea8475d3397500">YHC_PUT_OTP_AEAD_KEY</a>, 0x65),</div><div class="line"><a name="l00333"></a><span class="lineno"><a class="line" href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7ea58884e12c4e65351037902e59d98d497">  333</a></span>&#160;  <a class="code" href="yubihsm_8h.html#a66a09b99268fe27ce71f7f3e69878ec6">ADD_COMMAND</a>(<a class="code" href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7ea58884e12c4e65351037902e59d98d497">YHC_GENERATE_OTP_AEAD_KEY</a>, 0x66),</div><div class="line"><a name="l00335"></a><span class="lineno"><a class="line" href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7ead7ee3c3b805a89c9c2708f15b9ec165a">  335</a></span>&#160;  <a class="code" href="yubihsm_8h.html#a66a09b99268fe27ce71f7f3e69878ec6">ADD_COMMAND</a>(<a class="code" href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7ead7ee3c3b805a89c9c2708f15b9ec165a">YHC_SET_LOG_INDEX</a>, 0x67),</div><div class="line"><a name="l00337"></a><span class="lineno"><a class="line" href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7ea852e001ac88c54fddceb9ed4c5a8d386">  337</a></span>&#160;  <a class="code" href="yubihsm_8h.html#a66a09b99268fe27ce71f7f3e69878ec6">ADD_COMMAND</a>(<a class="code" href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7ea852e001ac88c54fddceb9ed4c5a8d386">YHC_WRAP_DATA</a>, 0x68),</div><div class="line"><a name="l00339"></a><span class="lineno"><a class="line" href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7ea86a36b37a45067589ed796cc96ab047d">  339</a></span>&#160;  <a class="code" href="yubihsm_8h.html#a66a09b99268fe27ce71f7f3e69878ec6">ADD_COMMAND</a>(<a class="code" href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7ea86a36b37a45067589ed796cc96ab047d">YHC_UNWRAP_DATA</a>, 0x69),</div><div class="line"><a name="l00341"></a><span class="lineno"><a class="line" href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7ea753bb59b9d30189cc0c311d4c9ff4480">  341</a></span>&#160;  <a class="code" href="yubihsm_8h.html#a66a09b99268fe27ce71f7f3e69878ec6">ADD_COMMAND</a>(<a class="code" href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7ea753bb59b9d30189cc0c311d4c9ff4480">YHC_SIGN_EDDSA</a>, 0x6a),</div><div class="line"><a name="l00343"></a><span class="lineno"><a class="line" href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7eab85f00cab685ade5857fa555fb926a7a">  343</a></span>&#160;  <a class="code" href="yubihsm_8h.html#a66a09b99268fe27ce71f7f3e69878ec6">ADD_COMMAND</a>(<a class="code" href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7eab85f00cab685ade5857fa555fb926a7a">YHC_BLINK_DEVICE</a>, 0x6b),</div><div class="line"><a name="l00345"></a><span class="lineno"><a class="line" href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7ea5a0649ee2fba224fec086884f368faa0">  345</a></span>&#160;  <a class="code" href="yubihsm_8h.html#a66a09b99268fe27ce71f7f3e69878ec6">ADD_COMMAND</a>(<a class="code" href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7ea5a0649ee2fba224fec086884f368faa0">YHC_CHANGE_AUTHENTICATION_KEY</a>, 0x6c),</div><div class="line"><a name="l00348"></a><span class="lineno"><a class="line" href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7ea51cdf2ccd6995498e589e8ea6ce2a1f2">  348</a></span>&#160;  <a class="code" href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7ea51cdf2ccd6995498e589e8ea6ce2a1f2">YHC_ERROR</a> = 0x7f,</div><div class="line"><a name="l00349"></a><span class="lineno">  349</span>&#160;} <a class="code" href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7e">yh_cmd</a>;</div><div class="line"><a name="l00350"></a><span class="lineno">  350</span>&#160;</div><div class="line"><a name="l00351"></a><span class="lineno">  351</span>&#160;<span class="preprocessor">#undef ADD_COMMAND</span></div><div class="line"><a name="l00352"></a><span class="lineno">  352</span>&#160;</div><div class="line"><a name="l00359"></a><span class="lineno"><a class="line" href="yubihsm_8h.html#a2fe39512cb4df34b270a67dbb8e13583">  359</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">enum</span> {</div><div class="line"><a name="l00362"></a><span class="lineno"><a class="line" href="yubihsm_8h.html#a2fe39512cb4df34b270a67dbb8e13583a5d37b7418d50b420621e6a6eb2700de4">  362</a></span>&#160;  <a class="code" href="yubihsm_8h.html#a2fe39512cb4df34b270a67dbb8e13583a5d37b7418d50b420621e6a6eb2700de4">YH_OPAQUE</a> = 0x01,</div><div class="line"><a name="l00364"></a><span class="lineno"><a class="line" href="yubihsm_8h.html#a2fe39512cb4df34b270a67dbb8e13583acee44b775b3c5b6157f0732699935074">  364</a></span>&#160;  <a class="code" href="yubihsm_8h.html#a2fe39512cb4df34b270a67dbb8e13583acee44b775b3c5b6157f0732699935074">YH_AUTHENTICATION_KEY</a> = 0x02,</div><div class="line"><a name="l00366"></a><span class="lineno"><a class="line" href="yubihsm_8h.html#a2fe39512cb4df34b270a67dbb8e13583ab71424e16384319d6e6a12f9a3d8ceae">  366</a></span>&#160;  <a class="code" href="yubihsm_8h.html#a2fe39512cb4df34b270a67dbb8e13583ab71424e16384319d6e6a12f9a3d8ceae">YH_ASYMMETRIC_KEY</a> = 0x03,</div><div class="line"><a name="l00369"></a><span class="lineno"><a class="line" href="yubihsm_8h.html#a2fe39512cb4df34b270a67dbb8e13583a16f0118db1dac3d0732e7d66630e1dba">  369</a></span>&#160;  <a class="code" href="yubihsm_8h.html#a2fe39512cb4df34b270a67dbb8e13583a16f0118db1dac3d0732e7d66630e1dba">YH_WRAP_KEY</a> = 0x04,</div><div class="line"><a name="l00371"></a><span class="lineno"><a class="line" href="yubihsm_8h.html#a2fe39512cb4df34b270a67dbb8e13583a708d85f80fc33743ac26a7c3e43464a9">  371</a></span>&#160;  <a class="code" href="yubihsm_8h.html#a2fe39512cb4df34b270a67dbb8e13583a708d85f80fc33743ac26a7c3e43464a9">YH_HMAC_KEY</a> = 0x05,</div><div class="line"><a name="l00374"></a><span class="lineno"><a class="line" href="yubihsm_8h.html#a2fe39512cb4df34b270a67dbb8e13583a96244762de5ce4175e60157239e7a097">  374</a></span>&#160;  <a class="code" href="yubihsm_8h.html#a2fe39512cb4df34b270a67dbb8e13583a96244762de5ce4175e60157239e7a097">YH_TEMPLATE</a> = 0x06,</div><div class="line"><a name="l00376"></a><span class="lineno"><a class="line" href="yubihsm_8h.html#a2fe39512cb4df34b270a67dbb8e13583a02c5f683fde147de6a9e1043f971f5f0">  376</a></span>&#160;  <a class="code" href="yubihsm_8h.html#a2fe39512cb4df34b270a67dbb8e13583a02c5f683fde147de6a9e1043f971f5f0">YH_OTP_AEAD_KEY</a> = 0x07,</div><div class="line"><a name="l00379"></a><span class="lineno"><a class="line" href="yubihsm_8h.html#a2fe39512cb4df34b270a67dbb8e13583af12da448809687dd5d8ca182ecd8dfeb">  379</a></span>&#160;  <a class="code" href="yubihsm_8h.html#a2fe39512cb4df34b270a67dbb8e13583af12da448809687dd5d8ca182ecd8dfeb">YH_PUBLIC_KEY</a> = 0x83,</div><div class="line"><a name="l00380"></a><span class="lineno">  380</span>&#160;} <a class="code" href="yubihsm_8h.html#a2fe39512cb4df34b270a67dbb8e13583">yh_object_type</a>;</div><div class="line"><a name="l00381"></a><span class="lineno">  381</span>&#160;</div><div class="line"><a name="l00383"></a><span class="lineno"><a class="line" href="yubihsm_8h.html#a6f472329e64b5720ed637fa886aea8c8">  383</a></span>&#160;<span class="preprocessor">#define YH_MAX_ALGORITHM_COUNT 0xff</span></div><div class="line"><a name="l00384"></a><span class="lineno">  384</span>&#160;</div><div class="line"><a name="l00390"></a><span class="lineno"><a class="line" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55ca">  390</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">enum</span> {</div><div class="line"><a name="l00392"></a><span class="lineno"><a class="line" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caa1982e3db182a679514674f454e2b79ad">  392</a></span>&#160;  <a class="code" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caa1982e3db182a679514674f454e2b79ad">YH_ALGO_RSA_PKCS1_SHA1</a> = 1,</div><div class="line"><a name="l00394"></a><span class="lineno"><a class="line" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caa18e17370fcf9a829572e57608aff743c">  394</a></span>&#160;  <a class="code" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caa18e17370fcf9a829572e57608aff743c">YH_ALGO_RSA_PKCS1_SHA256</a> = 2,</div><div class="line"><a name="l00396"></a><span class="lineno"><a class="line" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caafc78c2f62fe0a185c38d2644755fde2c">  396</a></span>&#160;  <a class="code" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caafc78c2f62fe0a185c38d2644755fde2c">YH_ALGO_RSA_PKCS1_SHA384</a> = 3,</div><div class="line"><a name="l00398"></a><span class="lineno"><a class="line" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caa84e18ba6561d5a834dc8d794504708db">  398</a></span>&#160;  <a class="code" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caa84e18ba6561d5a834dc8d794504708db">YH_ALGO_RSA_PKCS1_SHA512</a> = 4,</div><div class="line"><a name="l00400"></a><span class="lineno"><a class="line" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caa24d40fa957c584cf2ef0f5b0053b9f32">  400</a></span>&#160;  <a class="code" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caa24d40fa957c584cf2ef0f5b0053b9f32">YH_ALGO_RSA_PSS_SHA1</a> = 5,</div><div class="line"><a name="l00402"></a><span class="lineno"><a class="line" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caac42381f876f5e7190547cf81021451f5">  402</a></span>&#160;  <a class="code" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caac42381f876f5e7190547cf81021451f5">YH_ALGO_RSA_PSS_SHA256</a> = 6,</div><div class="line"><a name="l00404"></a><span class="lineno"><a class="line" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caa144083d6414cb33e8543d51e7d361d05">  404</a></span>&#160;  <a class="code" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caa144083d6414cb33e8543d51e7d361d05">YH_ALGO_RSA_PSS_SHA384</a> = 7,</div><div class="line"><a name="l00406"></a><span class="lineno"><a class="line" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caa1d5a50a1a53000cd2b2989c17703e2d1">  406</a></span>&#160;  <a class="code" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caa1d5a50a1a53000cd2b2989c17703e2d1">YH_ALGO_RSA_PSS_SHA512</a> = 8,</div><div class="line"><a name="l00408"></a><span class="lineno"><a class="line" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caaafe94e6a770edb51c6db84f77d98d2c6">  408</a></span>&#160;  <a class="code" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caaafe94e6a770edb51c6db84f77d98d2c6">YH_ALGO_RSA_2048</a> = 9,</div><div class="line"><a name="l00410"></a><span class="lineno"><a class="line" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caafd3fbd9ed86caf267ccc77cb24d44426">  410</a></span>&#160;  <a class="code" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caafd3fbd9ed86caf267ccc77cb24d44426">YH_ALGO_RSA_3072</a> = 10,</div><div class="line"><a name="l00412"></a><span class="lineno"><a class="line" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caae5963322a0a0f43a1b74faa78e3a7329">  412</a></span>&#160;  <a class="code" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caae5963322a0a0f43a1b74faa78e3a7329">YH_ALGO_RSA_4096</a> = 11,</div><div class="line"><a name="l00414"></a><span class="lineno"><a class="line" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caae4b191baf5c65f9234120080264d129b">  414</a></span>&#160;  <a class="code" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caae4b191baf5c65f9234120080264d129b">YH_ALGO_EC_P256</a> = 12,</div><div class="line"><a name="l00416"></a><span class="lineno"><a class="line" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caa31094c17c66e4c365ca3dad353bc8bda">  416</a></span>&#160;  <a class="code" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caa31094c17c66e4c365ca3dad353bc8bda">YH_ALGO_EC_P384</a> = 13,</div><div class="line"><a name="l00418"></a><span class="lineno"><a class="line" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caa05aec903fd67851f968aaa606fe2138a">  418</a></span>&#160;  <a class="code" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caa05aec903fd67851f968aaa606fe2138a">YH_ALGO_EC_P521</a> = 14,</div><div class="line"><a name="l00420"></a><span class="lineno"><a class="line" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caad423056b13955068935dc8b3ac0e65d1">  420</a></span>&#160;  <a class="code" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caad423056b13955068935dc8b3ac0e65d1">YH_ALGO_EC_K256</a> = 15,</div><div class="line"><a name="l00422"></a><span class="lineno"><a class="line" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caabd995726d45b6dd2388775db4767c80d">  422</a></span>&#160;  <a class="code" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caabd995726d45b6dd2388775db4767c80d">YH_ALGO_EC_BP256</a> = 16,</div><div class="line"><a name="l00424"></a><span class="lineno"><a class="line" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caa228fd3332b55c60438dfea6a1b09af36">  424</a></span>&#160;  <a class="code" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caa228fd3332b55c60438dfea6a1b09af36">YH_ALGO_EC_BP384</a> = 17,</div><div class="line"><a name="l00426"></a><span class="lineno"><a class="line" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caab9c1be17b7b3f755346ff8c3cca3ed25">  426</a></span>&#160;  <a class="code" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caab9c1be17b7b3f755346ff8c3cca3ed25">YH_ALGO_EC_BP512</a> = 18,</div><div class="line"><a name="l00428"></a><span class="lineno"><a class="line" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caa942e65c8cd0034eebe9a20c2297c7b06">  428</a></span>&#160;  <a class="code" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caa942e65c8cd0034eebe9a20c2297c7b06">YH_ALGO_HMAC_SHA1</a> = 19,</div><div class="line"><a name="l00430"></a><span class="lineno"><a class="line" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caab0a0e1eb424b61057f159f1e53311f5c">  430</a></span>&#160;  <a class="code" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caab0a0e1eb424b61057f159f1e53311f5c">YH_ALGO_HMAC_SHA256</a> = 20,</div><div class="line"><a name="l00432"></a><span class="lineno"><a class="line" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caa781e7ca62563917d2129bde8ec53401b">  432</a></span>&#160;  <a class="code" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caa781e7ca62563917d2129bde8ec53401b">YH_ALGO_HMAC_SHA384</a> = 21,</div><div class="line"><a name="l00434"></a><span class="lineno"><a class="line" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caa72d6c7ea77f10e39bbadc8b58d55b9ec">  434</a></span>&#160;  <a class="code" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caa72d6c7ea77f10e39bbadc8b58d55b9ec">YH_ALGO_HMAC_SHA512</a> = 22,</div><div class="line"><a name="l00436"></a><span class="lineno"><a class="line" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caae9b7b5598c3839a53e4986dc901be244">  436</a></span>&#160;  <a class="code" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caae9b7b5598c3839a53e4986dc901be244">YH_ALGO_EC_ECDSA_SHA1</a> = 23,</div><div class="line"><a name="l00438"></a><span class="lineno"><a class="line" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caa14b36e4ff3b90d44ace0aa2b2c65ef48">  438</a></span>&#160;  <a class="code" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caa14b36e4ff3b90d44ace0aa2b2c65ef48">YH_ALGO_EC_ECDH</a> = 24,</div><div class="line"><a name="l00440"></a><span class="lineno"><a class="line" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caae9e58613e12b0f9f445e620f1dd77e1d">  440</a></span>&#160;  <a class="code" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caae9e58613e12b0f9f445e620f1dd77e1d">YH_ALGO_RSA_OAEP_SHA1</a> = 25,</div><div class="line"><a name="l00442"></a><span class="lineno"><a class="line" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caa590665f5e23f996daeba0a2586b2ff33">  442</a></span>&#160;  <a class="code" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caa590665f5e23f996daeba0a2586b2ff33">YH_ALGO_RSA_OAEP_SHA256</a> = 26,</div><div class="line"><a name="l00444"></a><span class="lineno"><a class="line" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caab2580ffabb9b08affd0f7803fb1536cd">  444</a></span>&#160;  <a class="code" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caab2580ffabb9b08affd0f7803fb1536cd">YH_ALGO_RSA_OAEP_SHA384</a> = 27,</div><div class="line"><a name="l00446"></a><span class="lineno"><a class="line" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caaa4c2625511af2c17ed83da552d3dc5f6">  446</a></span>&#160;  <a class="code" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caaa4c2625511af2c17ed83da552d3dc5f6">YH_ALGO_RSA_OAEP_SHA512</a> = 28,</div><div class="line"><a name="l00448"></a><span class="lineno"><a class="line" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caae22b228e457c9bdccb5a93d81730b1b1">  448</a></span>&#160;  <a class="code" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caae22b228e457c9bdccb5a93d81730b1b1">YH_ALGO_AES128_CCM_WRAP</a> = 29,</div><div class="line"><a name="l00450"></a><span class="lineno"><a class="line" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caab2dc1e1157cd653f7674df10eb145fc3">  450</a></span>&#160;  <a class="code" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caab2dc1e1157cd653f7674df10eb145fc3">YH_ALGO_OPAQUE_DATA</a> = 30,</div><div class="line"><a name="l00452"></a><span class="lineno"><a class="line" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caa590b0ef9be4ed65e87e26c985bb7f350">  452</a></span>&#160;  <a class="code" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caa590b0ef9be4ed65e87e26c985bb7f350">YH_ALGO_OPAQUE_X509_CERTIFICATE</a> = 31,</div><div class="line"><a name="l00454"></a><span class="lineno"><a class="line" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caae1ab21f2df42a56bdc8ff046ed14797a">  454</a></span>&#160;  <a class="code" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caae1ab21f2df42a56bdc8ff046ed14797a">YH_ALGO_MGF1_SHA1</a> = 32,</div><div class="line"><a name="l00456"></a><span class="lineno"><a class="line" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caae3f68121c91d613fe450c12fad55eab2">  456</a></span>&#160;  <a class="code" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caae3f68121c91d613fe450c12fad55eab2">YH_ALGO_MGF1_SHA256</a> = 33,</div><div class="line"><a name="l00458"></a><span class="lineno"><a class="line" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caa788440387af34a9aa10a3e5561c8ee31">  458</a></span>&#160;  <a class="code" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caa788440387af34a9aa10a3e5561c8ee31">YH_ALGO_MGF1_SHA384</a> = 34,</div><div class="line"><a name="l00460"></a><span class="lineno"><a class="line" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caa104308e8fac7553b1d875f149ff133b1">  460</a></span>&#160;  <a class="code" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caa104308e8fac7553b1d875f149ff133b1">YH_ALGO_MGF1_SHA512</a> = 35,</div><div class="line"><a name="l00462"></a><span class="lineno"><a class="line" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caad75fd14ef18fed62ae13cd3657fce3b2">  462</a></span>&#160;  <a class="code" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caad75fd14ef18fed62ae13cd3657fce3b2">YH_ALGO_TEMPLATE_SSH</a> = 36,</div><div class="line"><a name="l00464"></a><span class="lineno"><a class="line" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caa62e7ba4126ae16faeafb28972a4e0959">  464</a></span>&#160;  <a class="code" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caa62e7ba4126ae16faeafb28972a4e0959">YH_ALGO_AES128_YUBICO_OTP</a> = 37,</div><div class="line"><a name="l00466"></a><span class="lineno"><a class="line" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caa461952ba18e7fcd792e480f71c853513">  466</a></span>&#160;  <a class="code" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caa461952ba18e7fcd792e480f71c853513">YH_ALGO_AES128_YUBICO_AUTHENTICATION</a> = 38,</div><div class="line"><a name="l00468"></a><span class="lineno"><a class="line" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caa62dd31db747b4b7f81d9e30877a0b720">  468</a></span>&#160;  <a class="code" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caa62dd31db747b4b7f81d9e30877a0b720">YH_ALGO_AES192_YUBICO_OTP</a> = 39,</div><div class="line"><a name="l00470"></a><span class="lineno"><a class="line" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caad1558532867577d1d77c84f1ae632acd">  470</a></span>&#160;  <a class="code" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caad1558532867577d1d77c84f1ae632acd">YH_ALGO_AES256_YUBICO_OTP</a> = 40,</div><div class="line"><a name="l00472"></a><span class="lineno"><a class="line" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caab739a1d142dacaf37ba13a73e2d83fab">  472</a></span>&#160;  <a class="code" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caab739a1d142dacaf37ba13a73e2d83fab">YH_ALGO_AES192_CCM_WRAP</a> = 41,</div><div class="line"><a name="l00474"></a><span class="lineno"><a class="line" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caa927e2246e5657f946b4da4b71092b022">  474</a></span>&#160;  <a class="code" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caa927e2246e5657f946b4da4b71092b022">YH_ALGO_AES256_CCM_WRAP</a> = 42,</div><div class="line"><a name="l00476"></a><span class="lineno"><a class="line" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caa2e5dfe9c79cb0d391d7bf952227268ec">  476</a></span>&#160;  <a class="code" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caa2e5dfe9c79cb0d391d7bf952227268ec">YH_ALGO_EC_ECDSA_SHA256</a> = 43,</div><div class="line"><a name="l00478"></a><span class="lineno"><a class="line" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caa657d2b30d884aeeff3c024404132ad69">  478</a></span>&#160;  <a class="code" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caa657d2b30d884aeeff3c024404132ad69">YH_ALGO_EC_ECDSA_SHA384</a> = 44,</div><div class="line"><a name="l00480"></a><span class="lineno"><a class="line" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caa44153987efd3466070143dbab77f2d70">  480</a></span>&#160;  <a class="code" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caa44153987efd3466070143dbab77f2d70">YH_ALGO_EC_ECDSA_SHA512</a> = 45,</div><div class="line"><a name="l00482"></a><span class="lineno"><a class="line" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caa68c2c97f16c36f727e41a899d8a7e8bd">  482</a></span>&#160;  <a class="code" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caa68c2c97f16c36f727e41a899d8a7e8bd">YH_ALGO_EC_ED25519</a> = 46,</div><div class="line"><a name="l00484"></a><span class="lineno"><a class="line" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caaedcbc07d82b18ca5c21eb3379a6cc010">  484</a></span>&#160;  <a class="code" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caaedcbc07d82b18ca5c21eb3379a6cc010">YH_ALGO_EC_P224</a> = 47,</div><div class="line"><a name="l00485"></a><span class="lineno">  485</span>&#160;} <a class="code" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55ca">yh_algorithm</a>;</div><div class="line"><a name="l00486"></a><span class="lineno">  486</span>&#160;</div><div class="line"><a name="l00490"></a><span class="lineno"><a class="line" href="yubihsm_8h.html#acc8090ce0ec5029b376803e44b1cb4aa">  490</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">enum</span> {</div><div class="line"><a name="l00492"></a><span class="lineno"><a class="line" href="yubihsm_8h.html#acc8090ce0ec5029b376803e44b1cb4aaa3431b9d5cadb9b297def332792e51f00">  492</a></span>&#160;  <a class="code" href="yubihsm_8h.html#acc8090ce0ec5029b376803e44b1cb4aaa3431b9d5cadb9b297def332792e51f00">YH_OPTION_FORCE_AUDIT</a> = 1,</div><div class="line"><a name="l00494"></a><span class="lineno"><a class="line" href="yubihsm_8h.html#acc8090ce0ec5029b376803e44b1cb4aaaf7c1e8ebce866eddcb7bc7ca8fa556da">  494</a></span>&#160;  <a class="code" href="yubihsm_8h.html#acc8090ce0ec5029b376803e44b1cb4aaaf7c1e8ebce866eddcb7bc7ca8fa556da">YH_OPTION_COMMAND_AUDIT</a> = 3,</div><div class="line"><a name="l00495"></a><span class="lineno">  495</span>&#160;} <a class="code" href="yubihsm_8h.html#acc8090ce0ec5029b376803e44b1cb4aa">yh_option</a>;</div><div class="line"><a name="l00496"></a><span class="lineno">  496</span>&#160;</div><div class="line"><a name="l00500"></a><span class="lineno"><a class="line" href="yubihsm_8h.html#a59400bce0478b88e048d5e62b2b0b015">  500</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">enum</span> {</div><div class="line"><a name="l00503"></a><span class="lineno"><a class="line" href="yubihsm_8h.html#a59400bce0478b88e048d5e62b2b0b015aef4e49a3018eee6219e6fdee93b32386">  503</a></span>&#160;  <a class="code" href="yubihsm_8h.html#a59400bce0478b88e048d5e62b2b0b015aef4e49a3018eee6219e6fdee93b32386">YH_CONNECTOR_HTTPS_CA</a> = 1,</div><div class="line"><a name="l00506"></a><span class="lineno"><a class="line" href="yubihsm_8h.html#a59400bce0478b88e048d5e62b2b0b015a90c65d2ccea0060d121c9c60b3a8b2df">  506</a></span>&#160;  <a class="code" href="yubihsm_8h.html#a59400bce0478b88e048d5e62b2b0b015a90c65d2ccea0060d121c9c60b3a8b2df">YH_CONNECTOR_PROXY_SERVER</a> = 2,</div><div class="line"><a name="l00507"></a><span class="lineno">  507</span>&#160;} <a class="code" href="yubihsm_8h.html#a59400bce0478b88e048d5e62b2b0b015">yh_connector_option</a>;</div><div class="line"><a name="l00508"></a><span class="lineno">  508</span>&#160;</div><div class="line"><a name="l00509"></a><span class="lineno">  509</span>&#160;<span class="preprocessor">#pragma pack(push, 1)</span></div><div class="line"><a name="l00510"></a><span class="lineno">  510</span>&#160;</div><div class="line"><a name="l00516"></a><span class="lineno"><a class="line" href="structyh__log__entry.html">  516</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span>{</div><div class="line"><a name="l00518"></a><span class="lineno"><a class="line" href="structyh__log__entry.html#adbdbdd10828646a96f67438062c909c8">  518</a></span>&#160;  uint16_t <a class="code" href="structyh__log__entry.html#adbdbdd10828646a96f67438062c909c8">number</a>;</div><div class="line"><a name="l00520"></a><span class="lineno"><a class="line" href="structyh__log__entry.html#ad1932210758f5649c94e0a7758040b48">  520</a></span>&#160;  uint8_t <a class="code" href="structyh__log__entry.html#ad1932210758f5649c94e0a7758040b48">command</a>;</div><div class="line"><a name="l00522"></a><span class="lineno"><a class="line" href="structyh__log__entry.html#abd847b85c49faf8f3bb88876fe56cf2f">  522</a></span>&#160;  uint16_t <a class="code" href="structyh__log__entry.html#abd847b85c49faf8f3bb88876fe56cf2f">length</a>;</div><div class="line"><a name="l00524"></a><span class="lineno"><a class="line" href="structyh__log__entry.html#a925f85bbcea7077e632e1699d32dfbe2">  524</a></span>&#160;  uint16_t <a class="code" href="structyh__log__entry.html#a925f85bbcea7077e632e1699d32dfbe2">session_key</a>;</div><div class="line"><a name="l00526"></a><span class="lineno"><a class="line" href="structyh__log__entry.html#ab866b36403547d518733745c090f69cc">  526</a></span>&#160;  uint16_t <a class="code" href="structyh__log__entry.html#ab866b36403547d518733745c090f69cc">target_key</a>;</div><div class="line"><a name="l00528"></a><span class="lineno"><a class="line" href="structyh__log__entry.html#a248294c48b017749865e97c22fee57ce">  528</a></span>&#160;  uint16_t <a class="code" href="structyh__log__entry.html#a248294c48b017749865e97c22fee57ce">second_key</a>;</div><div class="line"><a name="l00530"></a><span class="lineno"><a class="line" href="structyh__log__entry.html#a31bb67d7241b0cdd25d36cee65d4b6da">  530</a></span>&#160;  uint8_t <a class="code" href="structyh__log__entry.html#a31bb67d7241b0cdd25d36cee65d4b6da">result</a>;</div><div class="line"><a name="l00532"></a><span class="lineno"><a class="line" href="structyh__log__entry.html#a32bf3bd463165110201f585222616ee4">  532</a></span>&#160;  uint32_t <a class="code" href="structyh__log__entry.html#a32bf3bd463165110201f585222616ee4">systick</a>;</div><div class="line"><a name="l00534"></a><span class="lineno"><a class="line" href="structyh__log__entry.html#a0e8ca2892b29342aa721e5a9917fabed">  534</a></span>&#160;  uint8_t digest[<a class="code" href="yubihsm_8h.html#a289ca46f5ef481980f0fad98d727e87a">YH_LOG_DIGEST_SIZE</a>];</div><div class="line"><a name="l00535"></a><span class="lineno">  535</span>&#160;} <a class="code" href="structyh__log__entry.html">yh_log_entry</a>;</div><div class="line"><a name="l00536"></a><span class="lineno">  536</span>&#160;</div><div class="line"><a name="l00540"></a><span class="lineno"><a class="line" href="structyh__object__descriptor.html">  540</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span>{</div><div class="line"><a name="l00542"></a><span class="lineno"><a class="line" href="structyh__object__descriptor.html#a94fcb9bbe5ffacadafc207c166f6239f">  542</a></span>&#160;  <a class="code" href="structyh__capabilities.html">yh_capabilities</a> <a class="code" href="structyh__object__descriptor.html#a94fcb9bbe5ffacadafc207c166f6239f">capabilities</a>;</div><div class="line"><a name="l00544"></a><span class="lineno"><a class="line" href="structyh__object__descriptor.html#a8683d3f22f1e8ba56e3caea8ed8504ec">  544</a></span>&#160;  uint16_t <a class="code" href="structyh__object__descriptor.html#a8683d3f22f1e8ba56e3caea8ed8504ec">id</a>;</div><div class="line"><a name="l00546"></a><span class="lineno"><a class="line" href="structyh__object__descriptor.html#a6257fd0aa3606d6e73dff1c1c23563b1">  546</a></span>&#160;  uint16_t <a class="code" href="structyh__object__descriptor.html#a6257fd0aa3606d6e73dff1c1c23563b1">len</a>;</div><div class="line"><a name="l00548"></a><span class="lineno"><a class="line" href="structyh__object__descriptor.html#a31a501a1378bc07a3320febdb21fc898">  548</a></span>&#160;  uint16_t <a class="code" href="structyh__object__descriptor.html#a31a501a1378bc07a3320febdb21fc898">domains</a>;</div><div class="line"><a name="l00550"></a><span class="lineno"><a class="line" href="structyh__object__descriptor.html#ab8c1b3cc5b859e3c89eb228fa0763165">  550</a></span>&#160;  <a class="code" href="yubihsm_8h.html#a2fe39512cb4df34b270a67dbb8e13583">yh_object_type</a> <a class="code" href="structyh__object__descriptor.html#ab8c1b3cc5b859e3c89eb228fa0763165">type</a>;</div><div class="line"><a name="l00552"></a><span class="lineno"><a class="line" href="structyh__object__descriptor.html#a485734f824121a0901c151d814ab7226">  552</a></span>&#160;  <a class="code" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55ca">yh_algorithm</a> <a class="code" href="structyh__object__descriptor.html#a485734f824121a0901c151d814ab7226">algorithm</a>;</div><div class="line"><a name="l00554"></a><span class="lineno"><a class="line" href="structyh__object__descriptor.html#a84e5c94f9a0a39eb7ed39444c48ab4b5">  554</a></span>&#160;  uint8_t <a class="code" href="structyh__object__descriptor.html#a84e5c94f9a0a39eb7ed39444c48ab4b5">sequence</a>;</div><div class="line"><a name="l00556"></a><span class="lineno"><a class="line" href="structyh__object__descriptor.html#ab4e9be8940ce12a69b6b2389137aa768">  556</a></span>&#160;  uint8_t <a class="code" href="structyh__object__descriptor.html#ab4e9be8940ce12a69b6b2389137aa768">origin</a>;</div><div class="line"><a name="l00558"></a><span class="lineno"><a class="line" href="structyh__object__descriptor.html#ab63cc80a958a1debc4ac0ee255810fa5">  558</a></span>&#160;  <span class="keywordtype">char</span> label[<a class="code" href="yubihsm_8h.html#a431f8b753552a8b2f5f980e871b6d019">YH_OBJ_LABEL_LEN</a> + 1];</div><div class="line"><a name="l00560"></a><span class="lineno"><a class="line" href="structyh__object__descriptor.html#a98e1c698e0d1344c4fe4a215d2d633ec">  560</a></span>&#160;  <a class="code" href="structyh__capabilities.html">yh_capabilities</a> <a class="code" href="structyh__object__descriptor.html#a98e1c698e0d1344c4fe4a215d2d633ec">delegated_capabilities</a>;</div><div class="line"><a name="l00561"></a><span class="lineno">  561</span>&#160;} <a class="code" href="structyh__object__descriptor.html">yh_object_descriptor</a>;</div><div class="line"><a name="l00562"></a><span class="lineno">  562</span>&#160;<span class="preprocessor">#pragma pack(pop)</span></div><div class="line"><a name="l00563"></a><span class="lineno">  563</span>&#160;</div><div class="line"><a name="l00564"></a><span class="lineno">  564</span>&#160;<span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">struct </span>{</div><div class="line"><a name="l00565"></a><span class="lineno">  565</span>&#160;  <span class="keyword">const</span> <span class="keywordtype">char</span> *name;</div><div class="line"><a name="l00566"></a><span class="lineno">  566</span>&#160;  <span class="keywordtype">int</span> bit;</div><div class="line"><a name="l00567"></a><span class="lineno">  567</span>&#160;} yh_capability[] = {</div><div class="line"><a name="l00568"></a><span class="lineno">  568</span>&#160;  {<span class="stringliteral">&quot;change-authentication-key&quot;</span>, 0x2e},</div><div class="line"><a name="l00569"></a><span class="lineno">  569</span>&#160;  {<span class="stringliteral">&quot;create-otp-aead&quot;</span>, 0x1e},</div><div class="line"><a name="l00570"></a><span class="lineno">  570</span>&#160;  {<span class="stringliteral">&quot;decrypt-oaep&quot;</span>, 0x0a},</div><div class="line"><a name="l00571"></a><span class="lineno">  571</span>&#160;  {<span class="stringliteral">&quot;decrypt-otp&quot;</span>, 0x1d},</div><div class="line"><a name="l00572"></a><span class="lineno">  572</span>&#160;  {<span class="stringliteral">&quot;decrypt-pkcs&quot;</span>, 0x09},</div><div class="line"><a name="l00573"></a><span class="lineno">  573</span>&#160;  {<span class="stringliteral">&quot;delete-asymmetric-key&quot;</span>, 0x29},</div><div class="line"><a name="l00574"></a><span class="lineno">  574</span>&#160;  {<span class="stringliteral">&quot;delete-authentication-key&quot;</span>, 0x28},</div><div class="line"><a name="l00575"></a><span class="lineno">  575</span>&#160;  {<span class="stringliteral">&quot;delete-hmac-key&quot;</span>, 0x2b},</div><div class="line"><a name="l00576"></a><span class="lineno">  576</span>&#160;  {<span class="stringliteral">&quot;delete-opaque&quot;</span>, 0x27},</div><div class="line"><a name="l00577"></a><span class="lineno">  577</span>&#160;  {<span class="stringliteral">&quot;delete-otp-aead-key&quot;</span>, 0x2d},</div><div class="line"><a name="l00578"></a><span class="lineno">  578</span>&#160;  {<span class="stringliteral">&quot;delete-template&quot;</span>, 0x2c},</div><div class="line"><a name="l00579"></a><span class="lineno">  579</span>&#160;  {<span class="stringliteral">&quot;delete-wrap-key&quot;</span>, 0x2a},</div><div class="line"><a name="l00580"></a><span class="lineno">  580</span>&#160;  {<span class="stringliteral">&quot;derive-ecdh&quot;</span>, 0x0b},</div><div class="line"><a name="l00581"></a><span class="lineno">  581</span>&#160;  {<span class="stringliteral">&quot;export-wrapped&quot;</span>, 0x0c},</div><div class="line"><a name="l00582"></a><span class="lineno">  582</span>&#160;  {<span class="stringliteral">&quot;exportable-under-wrap&quot;</span>, 0x10},</div><div class="line"><a name="l00583"></a><span class="lineno">  583</span>&#160;  {<span class="stringliteral">&quot;generate-asymmetric-key&quot;</span>, 0x04},</div><div class="line"><a name="l00584"></a><span class="lineno">  584</span>&#160;  {<span class="stringliteral">&quot;generate-hmac-key&quot;</span>, 0x15},</div><div class="line"><a name="l00585"></a><span class="lineno">  585</span>&#160;  {<span class="stringliteral">&quot;generate-otp-aead-key&quot;</span>, 0x24},</div><div class="line"><a name="l00586"></a><span class="lineno">  586</span>&#160;  {<span class="stringliteral">&quot;generate-wrap-key&quot;</span>, 0x0f},</div><div class="line"><a name="l00587"></a><span class="lineno">  587</span>&#160;  {<span class="stringliteral">&quot;get-log-entries&quot;</span>, 0x18},</div><div class="line"><a name="l00588"></a><span class="lineno">  588</span>&#160;  {<span class="stringliteral">&quot;get-opaque&quot;</span>, 0x00},</div><div class="line"><a name="l00589"></a><span class="lineno">  589</span>&#160;  {<span class="stringliteral">&quot;get-option&quot;</span>, 0x12},</div><div class="line"><a name="l00590"></a><span class="lineno">  590</span>&#160;  {<span class="stringliteral">&quot;get-pseudo-random&quot;</span>, 0x13},</div><div class="line"><a name="l00591"></a><span class="lineno">  591</span>&#160;  {<span class="stringliteral">&quot;get-template&quot;</span>, 0x1a},</div><div class="line"><a name="l00592"></a><span class="lineno">  592</span>&#160;  {<span class="stringliteral">&quot;import-wrapped&quot;</span>, 0x0d},</div><div class="line"><a name="l00593"></a><span class="lineno">  593</span>&#160;  {<span class="stringliteral">&quot;put-asymmetric-key&quot;</span>, 0x03},</div><div class="line"><a name="l00594"></a><span class="lineno">  594</span>&#160;  {<span class="stringliteral">&quot;put-authentication-key&quot;</span>, 0x02},</div><div class="line"><a name="l00595"></a><span class="lineno">  595</span>&#160;  {<span class="stringliteral">&quot;put-mac-key&quot;</span>, 0x14},</div><div class="line"><a name="l00596"></a><span class="lineno">  596</span>&#160;  {<span class="stringliteral">&quot;put-opaque&quot;</span>, 0x01},</div><div class="line"><a name="l00597"></a><span class="lineno">  597</span>&#160;  {<span class="stringliteral">&quot;put-otp-aead-key&quot;</span>, 0x23},</div><div class="line"><a name="l00598"></a><span class="lineno">  598</span>&#160;  {<span class="stringliteral">&quot;put-template&quot;</span>, 0x1b},</div><div class="line"><a name="l00599"></a><span class="lineno">  599</span>&#160;  {<span class="stringliteral">&quot;put-wrap-key&quot;</span>, 0x0e},</div><div class="line"><a name="l00600"></a><span class="lineno">  600</span>&#160;  {<span class="stringliteral">&quot;randomize-otp-aead&quot;</span>, 0x1f},</div><div class="line"><a name="l00601"></a><span class="lineno">  601</span>&#160;  {<span class="stringliteral">&quot;reset-device&quot;</span>, 0x1c},</div><div class="line"><a name="l00602"></a><span class="lineno">  602</span>&#160;  {<span class="stringliteral">&quot;rewrap-from-otp-aead-key&quot;</span>, 0x20},</div><div class="line"><a name="l00603"></a><span class="lineno">  603</span>&#160;  {<span class="stringliteral">&quot;rewrap-to-otp-aead-key&quot;</span>, 0x21},</div><div class="line"><a name="l00604"></a><span class="lineno">  604</span>&#160;  {<span class="stringliteral">&quot;set-option&quot;</span>, 0x11},</div><div class="line"><a name="l00605"></a><span class="lineno">  605</span>&#160;  {<span class="stringliteral">&quot;sign-attestation-certificate&quot;</span>, 0x22},</div><div class="line"><a name="l00606"></a><span class="lineno">  606</span>&#160;  {<span class="stringliteral">&quot;sign-ecdsa&quot;</span>, 0x07},</div><div class="line"><a name="l00607"></a><span class="lineno">  607</span>&#160;  {<span class="stringliteral">&quot;sign-eddsa&quot;</span>, 0x08},</div><div class="line"><a name="l00608"></a><span class="lineno">  608</span>&#160;  {<span class="stringliteral">&quot;sign-hmac&quot;</span>, 0x16},</div><div class="line"><a name="l00609"></a><span class="lineno">  609</span>&#160;  {<span class="stringliteral">&quot;sign-pkcs&quot;</span>, 0x05},</div><div class="line"><a name="l00610"></a><span class="lineno">  610</span>&#160;  {<span class="stringliteral">&quot;sign-pss&quot;</span>, 0x06},</div><div class="line"><a name="l00611"></a><span class="lineno">  611</span>&#160;  {<span class="stringliteral">&quot;sign-ssh-certificate&quot;</span>, 0x19},</div><div class="line"><a name="l00612"></a><span class="lineno">  612</span>&#160;  {<span class="stringliteral">&quot;unwrap-data&quot;</span>, 0x26},</div><div class="line"><a name="l00613"></a><span class="lineno">  613</span>&#160;  {<span class="stringliteral">&quot;verify-hmac&quot;</span>, 0x17},</div><div class="line"><a name="l00614"></a><span class="lineno">  614</span>&#160;  {<span class="stringliteral">&quot;wrap-data&quot;</span>, 0x25},</div><div class="line"><a name="l00615"></a><span class="lineno">  615</span>&#160;};</div><div class="line"><a name="l00616"></a><span class="lineno">  616</span>&#160;</div><div class="line"><a name="l00617"></a><span class="lineno">  617</span>&#160;<span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">struct </span>{</div><div class="line"><a name="l00618"></a><span class="lineno">  618</span>&#160;  <span class="keyword">const</span> <span class="keywordtype">char</span> *name;</div><div class="line"><a name="l00619"></a><span class="lineno">  619</span>&#160;  <a class="code" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55ca">yh_algorithm</a> algorithm;</div><div class="line"><a name="l00620"></a><span class="lineno">  620</span>&#160;} yh_algorithms[] = {</div><div class="line"><a name="l00621"></a><span class="lineno">  621</span>&#160;  {<span class="stringliteral">&quot;aes128-ccm-wrap&quot;</span>, <a class="code" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caae22b228e457c9bdccb5a93d81730b1b1">YH_ALGO_AES128_CCM_WRAP</a>},</div><div class="line"><a name="l00622"></a><span class="lineno">  622</span>&#160;  {<span class="stringliteral">&quot;aes128-yubico-authentication&quot;</span>, <a class="code" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caa461952ba18e7fcd792e480f71c853513">YH_ALGO_AES128_YUBICO_AUTHENTICATION</a>},</div><div class="line"><a name="l00623"></a><span class="lineno">  623</span>&#160;  {<span class="stringliteral">&quot;aes128-yubico-otp&quot;</span>, <a class="code" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caa62e7ba4126ae16faeafb28972a4e0959">YH_ALGO_AES128_YUBICO_OTP</a>},</div><div class="line"><a name="l00624"></a><span class="lineno">  624</span>&#160;  {<span class="stringliteral">&quot;aes192-ccm-wrap&quot;</span>, <a class="code" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caab739a1d142dacaf37ba13a73e2d83fab">YH_ALGO_AES192_CCM_WRAP</a>},</div><div class="line"><a name="l00625"></a><span class="lineno">  625</span>&#160;  {<span class="stringliteral">&quot;aes192-yubico-otp&quot;</span>, <a class="code" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caa62dd31db747b4b7f81d9e30877a0b720">YH_ALGO_AES192_YUBICO_OTP</a>},</div><div class="line"><a name="l00626"></a><span class="lineno">  626</span>&#160;  {<span class="stringliteral">&quot;aes256-ccm-wrap&quot;</span>, <a class="code" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caa927e2246e5657f946b4da4b71092b022">YH_ALGO_AES256_CCM_WRAP</a>},</div><div class="line"><a name="l00627"></a><span class="lineno">  627</span>&#160;  {<span class="stringliteral">&quot;aes256-yubico-otp&quot;</span>, <a class="code" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caad1558532867577d1d77c84f1ae632acd">YH_ALGO_AES256_YUBICO_OTP</a>},</div><div class="line"><a name="l00628"></a><span class="lineno">  628</span>&#160;  {<span class="stringliteral">&quot;ecbp256&quot;</span>, <a class="code" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caabd995726d45b6dd2388775db4767c80d">YH_ALGO_EC_BP256</a>},</div><div class="line"><a name="l00629"></a><span class="lineno">  629</span>&#160;  {<span class="stringliteral">&quot;ecbp384&quot;</span>, <a class="code" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caa228fd3332b55c60438dfea6a1b09af36">YH_ALGO_EC_BP384</a>},</div><div class="line"><a name="l00630"></a><span class="lineno">  630</span>&#160;  {<span class="stringliteral">&quot;ecbp512&quot;</span>, <a class="code" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caab9c1be17b7b3f755346ff8c3cca3ed25">YH_ALGO_EC_BP512</a>},</div><div class="line"><a name="l00631"></a><span class="lineno">  631</span>&#160;  {<span class="stringliteral">&quot;ecdh&quot;</span>, <a class="code" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caa14b36e4ff3b90d44ace0aa2b2c65ef48">YH_ALGO_EC_ECDH</a>},</div><div class="line"><a name="l00632"></a><span class="lineno">  632</span>&#160;  {<span class="stringliteral">&quot;ecdsa-sha1&quot;</span>, <a class="code" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caae9b7b5598c3839a53e4986dc901be244">YH_ALGO_EC_ECDSA_SHA1</a>},</div><div class="line"><a name="l00633"></a><span class="lineno">  633</span>&#160;  {<span class="stringliteral">&quot;ecdsa-sha256&quot;</span>, <a class="code" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caa2e5dfe9c79cb0d391d7bf952227268ec">YH_ALGO_EC_ECDSA_SHA256</a>},</div><div class="line"><a name="l00634"></a><span class="lineno">  634</span>&#160;  {<span class="stringliteral">&quot;ecdsa-sha384&quot;</span>, <a class="code" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caa657d2b30d884aeeff3c024404132ad69">YH_ALGO_EC_ECDSA_SHA384</a>},</div><div class="line"><a name="l00635"></a><span class="lineno">  635</span>&#160;  {<span class="stringliteral">&quot;ecdsa-sha512&quot;</span>, <a class="code" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caa44153987efd3466070143dbab77f2d70">YH_ALGO_EC_ECDSA_SHA512</a>},</div><div class="line"><a name="l00636"></a><span class="lineno">  636</span>&#160;  {<span class="stringliteral">&quot;eck256&quot;</span>, <a class="code" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caad423056b13955068935dc8b3ac0e65d1">YH_ALGO_EC_K256</a>},</div><div class="line"><a name="l00637"></a><span class="lineno">  637</span>&#160;  {<span class="stringliteral">&quot;ecp224&quot;</span>, <a class="code" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caaedcbc07d82b18ca5c21eb3379a6cc010">YH_ALGO_EC_P224</a>},</div><div class="line"><a name="l00638"></a><span class="lineno">  638</span>&#160;  {<span class="stringliteral">&quot;ecp256&quot;</span>, <a class="code" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caae4b191baf5c65f9234120080264d129b">YH_ALGO_EC_P256</a>},</div><div class="line"><a name="l00639"></a><span class="lineno">  639</span>&#160;  {<span class="stringliteral">&quot;ecp384&quot;</span>, <a class="code" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caa31094c17c66e4c365ca3dad353bc8bda">YH_ALGO_EC_P384</a>},</div><div class="line"><a name="l00640"></a><span class="lineno">  640</span>&#160;  {<span class="stringliteral">&quot;ecp521&quot;</span>, <a class="code" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caa05aec903fd67851f968aaa606fe2138a">YH_ALGO_EC_P521</a>},</div><div class="line"><a name="l00641"></a><span class="lineno">  641</span>&#160;  {<span class="stringliteral">&quot;ed25519&quot;</span>, <a class="code" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caa68c2c97f16c36f727e41a899d8a7e8bd">YH_ALGO_EC_ED25519</a>},</div><div class="line"><a name="l00642"></a><span class="lineno">  642</span>&#160;  {<span class="stringliteral">&quot;hmac-sha1&quot;</span>, <a class="code" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caa942e65c8cd0034eebe9a20c2297c7b06">YH_ALGO_HMAC_SHA1</a>},</div><div class="line"><a name="l00643"></a><span class="lineno">  643</span>&#160;  {<span class="stringliteral">&quot;hmac-sha256&quot;</span>, <a class="code" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caab0a0e1eb424b61057f159f1e53311f5c">YH_ALGO_HMAC_SHA256</a>},</div><div class="line"><a name="l00644"></a><span class="lineno">  644</span>&#160;  {<span class="stringliteral">&quot;hmac-sha384&quot;</span>, <a class="code" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caa781e7ca62563917d2129bde8ec53401b">YH_ALGO_HMAC_SHA384</a>},</div><div class="line"><a name="l00645"></a><span class="lineno">  645</span>&#160;  {<span class="stringliteral">&quot;hmac-sha512&quot;</span>, <a class="code" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caa72d6c7ea77f10e39bbadc8b58d55b9ec">YH_ALGO_HMAC_SHA512</a>},</div><div class="line"><a name="l00646"></a><span class="lineno">  646</span>&#160;  {<span class="stringliteral">&quot;mgf1-sha1&quot;</span>, <a class="code" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caae1ab21f2df42a56bdc8ff046ed14797a">YH_ALGO_MGF1_SHA1</a>},</div><div class="line"><a name="l00647"></a><span class="lineno">  647</span>&#160;  {<span class="stringliteral">&quot;mgf1-sha256&quot;</span>, <a class="code" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caae3f68121c91d613fe450c12fad55eab2">YH_ALGO_MGF1_SHA256</a>},</div><div class="line"><a name="l00648"></a><span class="lineno">  648</span>&#160;  {<span class="stringliteral">&quot;mgf1-sha384&quot;</span>, <a class="code" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caa788440387af34a9aa10a3e5561c8ee31">YH_ALGO_MGF1_SHA384</a>},</div><div class="line"><a name="l00649"></a><span class="lineno">  649</span>&#160;  {<span class="stringliteral">&quot;mgf1-sha512&quot;</span>, <a class="code" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caa104308e8fac7553b1d875f149ff133b1">YH_ALGO_MGF1_SHA512</a>},</div><div class="line"><a name="l00650"></a><span class="lineno">  650</span>&#160;  {<span class="stringliteral">&quot;opaque-data&quot;</span>, <a class="code" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caab2dc1e1157cd653f7674df10eb145fc3">YH_ALGO_OPAQUE_DATA</a>},</div><div class="line"><a name="l00651"></a><span class="lineno">  651</span>&#160;  {<span class="stringliteral">&quot;opaque-x509-certificate&quot;</span>, <a class="code" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caa590b0ef9be4ed65e87e26c985bb7f350">YH_ALGO_OPAQUE_X509_CERTIFICATE</a>},</div><div class="line"><a name="l00652"></a><span class="lineno">  652</span>&#160;  {<span class="stringliteral">&quot;rsa-oaep-sha1&quot;</span>, <a class="code" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caae9e58613e12b0f9f445e620f1dd77e1d">YH_ALGO_RSA_OAEP_SHA1</a>},</div><div class="line"><a name="l00653"></a><span class="lineno">  653</span>&#160;  {<span class="stringliteral">&quot;rsa-oaep-sha256&quot;</span>, <a class="code" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caa590665f5e23f996daeba0a2586b2ff33">YH_ALGO_RSA_OAEP_SHA256</a>},</div><div class="line"><a name="l00654"></a><span class="lineno">  654</span>&#160;  {<span class="stringliteral">&quot;rsa-oaep-sha384&quot;</span>, <a class="code" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caab2580ffabb9b08affd0f7803fb1536cd">YH_ALGO_RSA_OAEP_SHA384</a>},</div><div class="line"><a name="l00655"></a><span class="lineno">  655</span>&#160;  {<span class="stringliteral">&quot;rsa-oaep-sha512&quot;</span>, <a class="code" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caaa4c2625511af2c17ed83da552d3dc5f6">YH_ALGO_RSA_OAEP_SHA512</a>},</div><div class="line"><a name="l00656"></a><span class="lineno">  656</span>&#160;  {<span class="stringliteral">&quot;rsa-pkcs1-sha1&quot;</span>, <a class="code" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caa1982e3db182a679514674f454e2b79ad">YH_ALGO_RSA_PKCS1_SHA1</a>},</div><div class="line"><a name="l00657"></a><span class="lineno">  657</span>&#160;  {<span class="stringliteral">&quot;rsa-pkcs1-sha256&quot;</span>, <a class="code" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caa18e17370fcf9a829572e57608aff743c">YH_ALGO_RSA_PKCS1_SHA256</a>},</div><div class="line"><a name="l00658"></a><span class="lineno">  658</span>&#160;  {<span class="stringliteral">&quot;rsa-pkcs1-sha384&quot;</span>, <a class="code" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caafc78c2f62fe0a185c38d2644755fde2c">YH_ALGO_RSA_PKCS1_SHA384</a>},</div><div class="line"><a name="l00659"></a><span class="lineno">  659</span>&#160;  {<span class="stringliteral">&quot;rsa-pkcs1-sha512&quot;</span>, <a class="code" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caa84e18ba6561d5a834dc8d794504708db">YH_ALGO_RSA_PKCS1_SHA512</a>},</div><div class="line"><a name="l00660"></a><span class="lineno">  660</span>&#160;  {<span class="stringliteral">&quot;rsa-pss-sha1&quot;</span>, <a class="code" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caa24d40fa957c584cf2ef0f5b0053b9f32">YH_ALGO_RSA_PSS_SHA1</a>},</div><div class="line"><a name="l00661"></a><span class="lineno">  661</span>&#160;  {<span class="stringliteral">&quot;rsa-pss-sha256&quot;</span>, <a class="code" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caac42381f876f5e7190547cf81021451f5">YH_ALGO_RSA_PSS_SHA256</a>},</div><div class="line"><a name="l00662"></a><span class="lineno">  662</span>&#160;  {<span class="stringliteral">&quot;rsa-pss-sha384&quot;</span>, <a class="code" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caa144083d6414cb33e8543d51e7d361d05">YH_ALGO_RSA_PSS_SHA384</a>},</div><div class="line"><a name="l00663"></a><span class="lineno">  663</span>&#160;  {<span class="stringliteral">&quot;rsa-pss-sha512&quot;</span>, <a class="code" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caa1d5a50a1a53000cd2b2989c17703e2d1">YH_ALGO_RSA_PSS_SHA512</a>},</div><div class="line"><a name="l00664"></a><span class="lineno">  664</span>&#160;  {<span class="stringliteral">&quot;rsa2048&quot;</span>, <a class="code" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caaafe94e6a770edb51c6db84f77d98d2c6">YH_ALGO_RSA_2048</a>},</div><div class="line"><a name="l00665"></a><span class="lineno">  665</span>&#160;  {<span class="stringliteral">&quot;rsa3072&quot;</span>, <a class="code" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caafd3fbd9ed86caf267ccc77cb24d44426">YH_ALGO_RSA_3072</a>},</div><div class="line"><a name="l00666"></a><span class="lineno">  666</span>&#160;  {<span class="stringliteral">&quot;rsa4096&quot;</span>, <a class="code" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caae5963322a0a0f43a1b74faa78e3a7329">YH_ALGO_RSA_4096</a>},</div><div class="line"><a name="l00667"></a><span class="lineno">  667</span>&#160;  {<span class="stringliteral">&quot;template-ssh&quot;</span>, <a class="code" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caad75fd14ef18fed62ae13cd3657fce3b2">YH_ALGO_TEMPLATE_SSH</a>},</div><div class="line"><a name="l00668"></a><span class="lineno">  668</span>&#160;};</div><div class="line"><a name="l00669"></a><span class="lineno">  669</span>&#160;</div><div class="line"><a name="l00670"></a><span class="lineno">  670</span>&#160;<span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">struct </span>{</div><div class="line"><a name="l00671"></a><span class="lineno">  671</span>&#160;  <span class="keyword">const</span> <span class="keywordtype">char</span> *name;</div><div class="line"><a name="l00672"></a><span class="lineno">  672</span>&#160;  <a class="code" href="yubihsm_8h.html#a2fe39512cb4df34b270a67dbb8e13583">yh_object_type</a> type;</div><div class="line"><a name="l00673"></a><span class="lineno">  673</span>&#160;} yh_types[] = {</div><div class="line"><a name="l00674"></a><span class="lineno">  674</span>&#160;  {<span class="stringliteral">&quot;authentication-key&quot;</span>, <a class="code" href="yubihsm_8h.html#a2fe39512cb4df34b270a67dbb8e13583acee44b775b3c5b6157f0732699935074">YH_AUTHENTICATION_KEY</a>},</div><div class="line"><a name="l00675"></a><span class="lineno">  675</span>&#160;  {<span class="stringliteral">&quot;asymmetric-key&quot;</span>, <a class="code" href="yubihsm_8h.html#a2fe39512cb4df34b270a67dbb8e13583ab71424e16384319d6e6a12f9a3d8ceae">YH_ASYMMETRIC_KEY</a>},</div><div class="line"><a name="l00676"></a><span class="lineno">  676</span>&#160;  {<span class="stringliteral">&quot;hmac-key&quot;</span>, <a class="code" href="yubihsm_8h.html#a2fe39512cb4df34b270a67dbb8e13583a708d85f80fc33743ac26a7c3e43464a9">YH_HMAC_KEY</a>},</div><div class="line"><a name="l00677"></a><span class="lineno">  677</span>&#160;  {<span class="stringliteral">&quot;opaque&quot;</span>, <a class="code" href="yubihsm_8h.html#a2fe39512cb4df34b270a67dbb8e13583a5d37b7418d50b420621e6a6eb2700de4">YH_OPAQUE</a>},</div><div class="line"><a name="l00678"></a><span class="lineno">  678</span>&#160;  {<span class="stringliteral">&quot;otp-aead-key&quot;</span>, <a class="code" href="yubihsm_8h.html#a2fe39512cb4df34b270a67dbb8e13583a02c5f683fde147de6a9e1043f971f5f0">YH_OTP_AEAD_KEY</a>},</div><div class="line"><a name="l00679"></a><span class="lineno">  679</span>&#160;  {<span class="stringliteral">&quot;template&quot;</span>, <a class="code" href="yubihsm_8h.html#a2fe39512cb4df34b270a67dbb8e13583a96244762de5ce4175e60157239e7a097">YH_TEMPLATE</a>},</div><div class="line"><a name="l00680"></a><span class="lineno">  680</span>&#160;  {<span class="stringliteral">&quot;wrap-key&quot;</span>, <a class="code" href="yubihsm_8h.html#a2fe39512cb4df34b270a67dbb8e13583a16f0118db1dac3d0732e7d66630e1dba">YH_WRAP_KEY</a>},</div><div class="line"><a name="l00681"></a><span class="lineno">  681</span>&#160;};</div><div class="line"><a name="l00682"></a><span class="lineno">  682</span>&#160;</div><div class="line"><a name="l00683"></a><span class="lineno">  683</span>&#160;<span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">struct </span>{</div><div class="line"><a name="l00684"></a><span class="lineno">  684</span>&#160;  <span class="keyword">const</span> <span class="keywordtype">char</span> *name;</div><div class="line"><a name="l00685"></a><span class="lineno">  685</span>&#160;  <a class="code" href="yubihsm_8h.html#acc8090ce0ec5029b376803e44b1cb4aa">yh_option</a> option;</div><div class="line"><a name="l00686"></a><span class="lineno">  686</span>&#160;} yh_options[] = {</div><div class="line"><a name="l00687"></a><span class="lineno">  687</span>&#160;  {<span class="stringliteral">&quot;command-audit&quot;</span>, <a class="code" href="yubihsm_8h.html#acc8090ce0ec5029b376803e44b1cb4aaaf7c1e8ebce866eddcb7bc7ca8fa556da">YH_OPTION_COMMAND_AUDIT</a>},</div><div class="line"><a name="l00688"></a><span class="lineno">  688</span>&#160;  {<span class="stringliteral">&quot;force-audit&quot;</span>, <a class="code" href="yubihsm_8h.html#acc8090ce0ec5029b376803e44b1cb4aaa3431b9d5cadb9b297def332792e51f00">YH_OPTION_FORCE_AUDIT</a>},</div><div class="line"><a name="l00689"></a><span class="lineno">  689</span>&#160;};</div><div class="line"><a name="l00690"></a><span class="lineno">  690</span>&#160;</div><div class="line"><a name="l00692"></a><span class="lineno"><a class="line" href="yubihsm_8h.html#a1b233ade526e2b1a6313e2e2d892bd88">  692</a></span>&#160;<span class="preprocessor">#define YH_ORIGIN_GENERATED 0x01</span></div><div class="line"><a name="l00693"></a><span class="lineno">  693</span>&#160;<span class="preprocessor">#define YH_ORIGIN_IMPORTED 0x02</span></div><div class="line"><a name="l00695"></a><span class="lineno">  695</span>&#160;<span class="preprocessor">#define YH_ORIGIN_IMPORTED_WRAPPED 0x10</span></div><div class="line"><a name="l00698"></a><span class="lineno">  698</span>&#160;</div><div class="line"><a name="l00706"></a><span class="lineno">  706</span>&#160;<span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="yubihsm_8h.html#ab2ca147574f7aa4ba01ee0c52d716b3f">yh_strerror</a>(<a class="code" href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366">yh_rc</a> err);</div><div class="line"><a name="l00707"></a><span class="lineno">  707</span>&#160;</div><div class="line"><a name="l00724"></a><span class="lineno">  724</span>&#160;<a class="code" href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366">yh_rc</a> <a class="code" href="yubihsm_8h.html#a24c3146e51242256af505961e763f417">yh_set_verbosity</a>(<a class="code" href="yubihsm_8h.html#a114f98fee4b67eadd9b89b675632c710">yh_connector</a> *connector, uint8_t verbosity);</div><div class="line"><a name="l00725"></a><span class="lineno">  725</span>&#160;</div><div class="line"><a name="l00737"></a><span class="lineno">  737</span>&#160;<a class="code" href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366">yh_rc</a> <a class="code" href="yubihsm_8h.html#a17d49ccb12b100e98d8b99585a705444">yh_get_verbosity</a>(uint8_t *verbosity);</div><div class="line"><a name="l00738"></a><span class="lineno">  738</span>&#160;</div><div class="line"><a name="l00748"></a><span class="lineno">  748</span>&#160;<span class="keywordtype">void</span> <a class="code" href="yubihsm_8h.html#a7d223fd4ee6ae3f578307d72aba37a19">yh_set_debug_output</a>(<a class="code" href="yubihsm_8h.html#a114f98fee4b67eadd9b89b675632c710">yh_connector</a> *connector, FILE *output);</div><div class="line"><a name="l00749"></a><span class="lineno">  749</span>&#160;</div><div class="line"><a name="l00755"></a><span class="lineno">  755</span>&#160;<a class="code" href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366">yh_rc</a> <a class="code" href="yubihsm_8h.html#a5392844a98c6220c69fe08d3dcf8f1bc">yh_init</a>(<span class="keywordtype">void</span>);</div><div class="line"><a name="l00756"></a><span class="lineno">  756</span>&#160;</div><div class="line"><a name="l00762"></a><span class="lineno">  762</span>&#160;<a class="code" href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366">yh_rc</a> <a class="code" href="yubihsm_8h.html#a36e3d9a07c6689e14a9339ca1ebb7259">yh_exit</a>(<span class="keywordtype">void</span>);</div><div class="line"><a name="l00763"></a><span class="lineno">  763</span>&#160;</div><div class="line"><a name="l00776"></a><span class="lineno">  776</span>&#160;<a class="code" href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366">yh_rc</a> <a class="code" href="yubihsm_8h.html#a9c700747902a722d6c1d2073277de294">yh_init_connector</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *url, <a class="code" href="yubihsm_8h.html#a114f98fee4b67eadd9b89b675632c710">yh_connector</a> **connector);</div><div class="line"><a name="l00777"></a><span class="lineno">  777</span>&#160;</div><div class="line"><a name="l00792"></a><span class="lineno">  792</span>&#160;<a class="code" href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366">yh_rc</a> <a class="code" href="yubihsm_8h.html#a9addbfae4cdb70b819986e7769cdd102">yh_set_connector_option</a>(<a class="code" href="yubihsm_8h.html#a114f98fee4b67eadd9b89b675632c710">yh_connector</a> *connector, <a class="code" href="yubihsm_8h.html#a59400bce0478b88e048d5e62b2b0b015">yh_connector_option</a> opt,</div><div class="line"><a name="l00793"></a><span class="lineno">  793</span>&#160;                              <span class="keyword">const</span> <span class="keywordtype">void</span> *val);</div><div class="line"><a name="l00794"></a><span class="lineno">  794</span>&#160;</div><div class="line"><a name="l00805"></a><span class="lineno">  805</span>&#160;<a class="code" href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366">yh_rc</a> <a class="code" href="yubihsm_8h.html#aa19be6ac70a2a5d1cef8d7e6902fe05f">yh_connect</a>(<a class="code" href="yubihsm_8h.html#a114f98fee4b67eadd9b89b675632c710">yh_connector</a> *connector, <span class="keywordtype">int</span> timeout);</div><div class="line"><a name="l00806"></a><span class="lineno">  806</span>&#160;</div><div class="line"><a name="l00815"></a><span class="lineno">  815</span>&#160;<a class="code" href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366">yh_rc</a> <a class="code" href="yubihsm_8h.html#ab12d5a42d2219741bd3630b99ed1c7d2">yh_disconnect</a>(<a class="code" href="yubihsm_8h.html#a114f98fee4b67eadd9b89b675632c710">yh_connector</a> *connector);</div><div class="line"><a name="l00816"></a><span class="lineno">  816</span>&#160;</div><div class="line"><a name="l00833"></a><span class="lineno">  833</span>&#160;<a class="code" href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366">yh_rc</a> <a class="code" href="yubihsm_8h.html#a799e299be8d4c13dfa2112a60d05480d">yh_send_plain_msg</a>(<a class="code" href="yubihsm_8h.html#a114f98fee4b67eadd9b89b675632c710">yh_connector</a> *connector, <a class="code" href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7e">yh_cmd</a> cmd,</div><div class="line"><a name="l00834"></a><span class="lineno">  834</span>&#160;                        <span class="keyword">const</span> uint8_t *data, <span class="keywordtype">size_t</span> data_len,</div><div class="line"><a name="l00835"></a><span class="lineno">  835</span>&#160;                        <a class="code" href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7e">yh_cmd</a> *response_cmd, uint8_t *response,</div><div class="line"><a name="l00836"></a><span class="lineno">  836</span>&#160;                        <span class="keywordtype">size_t</span> *response_len);</div><div class="line"><a name="l00837"></a><span class="lineno">  837</span>&#160;</div><div class="line"><a name="l00852"></a><span class="lineno">  852</span>&#160;<a class="code" href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366">yh_rc</a> <a class="code" href="yubihsm_8h.html#a4c26f003b72e800e9c934bca922a404a">yh_send_secure_msg</a>(<a class="code" href="yubihsm_8h.html#aa3420d8ccc1fb0b0dee1af5a53cc79de">yh_session</a> *session, <a class="code" href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7e">yh_cmd</a> cmd, <span class="keyword">const</span> uint8_t *data,</div><div class="line"><a name="l00853"></a><span class="lineno">  853</span>&#160;                         <span class="keywordtype">size_t</span> data_len, <a class="code" href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7e">yh_cmd</a> *response_cmd,</div><div class="line"><a name="l00854"></a><span class="lineno">  854</span>&#160;                         uint8_t *response, <span class="keywordtype">size_t</span> *response_len);</div><div class="line"><a name="l00855"></a><span class="lineno">  855</span>&#160;</div><div class="line"><a name="l00880"></a><span class="lineno">  880</span>&#160;<a class="code" href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366">yh_rc</a> <a class="code" href="yubihsm_8h.html#a4e5534e6c597a7d32040ea1cc7254c93">yh_create_session_derived</a>(<a class="code" href="yubihsm_8h.html#a114f98fee4b67eadd9b89b675632c710">yh_connector</a> *connector, uint16_t authkey_id,</div><div class="line"><a name="l00881"></a><span class="lineno">  881</span>&#160;                                <span class="keyword">const</span> uint8_t *password, <span class="keywordtype">size_t</span> password_len,</div><div class="line"><a name="l00882"></a><span class="lineno">  882</span>&#160;                                <span class="keywordtype">bool</span> recreate_session, <a class="code" href="yubihsm_8h.html#aa3420d8ccc1fb0b0dee1af5a53cc79de">yh_session</a> **session);</div><div class="line"><a name="l00883"></a><span class="lineno">  883</span>&#160;</div><div class="line"><a name="l00909"></a><span class="lineno">  909</span>&#160;<a class="code" href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366">yh_rc</a> <a class="code" href="yubihsm_8h.html#ac1534725e97dbf81b37652fe1bffb97a">yh_create_session</a>(<a class="code" href="yubihsm_8h.html#a114f98fee4b67eadd9b89b675632c710">yh_connector</a> *connector, uint16_t authkey_id,</div><div class="line"><a name="l00910"></a><span class="lineno">  910</span>&#160;                        <span class="keyword">const</span> uint8_t *key_enc, <span class="keywordtype">size_t</span> key_enc_len,</div><div class="line"><a name="l00911"></a><span class="lineno">  911</span>&#160;                        <span class="keyword">const</span> uint8_t *key_mac, <span class="keywordtype">size_t</span> key_mac_len,</div><div class="line"><a name="l00912"></a><span class="lineno">  912</span>&#160;                        <span class="keywordtype">bool</span> recreate_session, <a class="code" href="yubihsm_8h.html#aa3420d8ccc1fb0b0dee1af5a53cc79de">yh_session</a> **session);</div><div class="line"><a name="l00913"></a><span class="lineno">  913</span>&#160;</div><div class="line"><a name="l00937"></a><span class="lineno">  937</span>&#160;<a class="code" href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366">yh_rc</a> <a class="code" href="yubihsm_8h.html#a296b43eadb1151017ba8e9578b351c5e">yh_begin_create_session_ext</a>(<a class="code" href="yubihsm_8h.html#a114f98fee4b67eadd9b89b675632c710">yh_connector</a> *connector, uint16_t authkey_id,</div><div class="line"><a name="l00938"></a><span class="lineno">  938</span>&#160;                                  uint8_t **context, uint8_t *card_cryptogram,</div><div class="line"><a name="l00939"></a><span class="lineno">  939</span>&#160;                                  <span class="keywordtype">size_t</span> card_cryptogram_len,</div><div class="line"><a name="l00940"></a><span class="lineno">  940</span>&#160;                                  <a class="code" href="yubihsm_8h.html#aa3420d8ccc1fb0b0dee1af5a53cc79de">yh_session</a> **session);</div><div class="line"><a name="l00941"></a><span class="lineno">  941</span>&#160;</div><div class="line"><a name="l00970"></a><span class="lineno">  970</span>&#160;<a class="code" href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366">yh_rc</a> <a class="code" href="yubihsm_8h.html#afbcb5c761339fbcf444be8f338b4614f">yh_finish_create_session_ext</a>(<a class="code" href="yubihsm_8h.html#a114f98fee4b67eadd9b89b675632c710">yh_connector</a> *connector, <a class="code" href="yubihsm_8h.html#aa3420d8ccc1fb0b0dee1af5a53cc79de">yh_session</a> *session,</div><div class="line"><a name="l00971"></a><span class="lineno">  971</span>&#160;                                   <span class="keyword">const</span> uint8_t *key_senc, <span class="keywordtype">size_t</span> key_senc_len,</div><div class="line"><a name="l00972"></a><span class="lineno">  972</span>&#160;                                   <span class="keyword">const</span> uint8_t *key_smac, <span class="keywordtype">size_t</span> key_smac_len,</div><div class="line"><a name="l00973"></a><span class="lineno">  973</span>&#160;                                   <span class="keyword">const</span> uint8_t *key_srmac,</div><div class="line"><a name="l00974"></a><span class="lineno">  974</span>&#160;                                   <span class="keywordtype">size_t</span> key_srmac_len,</div><div class="line"><a name="l00975"></a><span class="lineno">  975</span>&#160;                                   uint8_t *card_cryptogram,</div><div class="line"><a name="l00976"></a><span class="lineno">  976</span>&#160;                                   <span class="keywordtype">size_t</span> card_cryptogram_len);</div><div class="line"><a name="l00977"></a><span class="lineno">  977</span>&#160;</div><div class="line"><a name="l00989"></a><span class="lineno">  989</span>&#160;<a class="code" href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366">yh_rc</a> <a class="code" href="yubihsm_8h.html#a1a35f8ae5a739848408633a514e41b2d">yh_destroy_session</a>(<a class="code" href="yubihsm_8h.html#aa3420d8ccc1fb0b0dee1af5a53cc79de">yh_session</a> **session);</div><div class="line"><a name="l00990"></a><span class="lineno">  990</span>&#160;</div><div class="line"><a name="l01004"></a><span class="lineno"> 1004</span>&#160;<a class="code" href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366">yh_rc</a> <a class="code" href="yubihsm_8h.html#a77870209747d5ccd90f9da3aae2bdfa8">yh_authenticate_session</a>(<a class="code" href="yubihsm_8h.html#aa3420d8ccc1fb0b0dee1af5a53cc79de">yh_session</a> *session);</div><div class="line"><a name="l01005"></a><span class="lineno"> 1005</span>&#160;</div><div class="line"><a name="l01006"></a><span class="lineno"> 1006</span>&#160;<span class="comment">// Utility and convenience functions below</span></div><div class="line"><a name="l01007"></a><span class="lineno"> 1007</span>&#160;</div><div class="line"><a name="l01030"></a><span class="lineno"> 1030</span>&#160;<a class="code" href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366">yh_rc</a> <a class="code" href="yubihsm_8h.html#a6ab558e1426359cc78e7a362f8b3acd9">yh_util_get_device_info</a>(<a class="code" href="yubihsm_8h.html#a114f98fee4b67eadd9b89b675632c710">yh_connector</a> *connector, uint8_t *major,</div><div class="line"><a name="l01031"></a><span class="lineno"> 1031</span>&#160;                              uint8_t *minor, uint8_t *patch, uint32_t *serial,</div><div class="line"><a name="l01032"></a><span class="lineno"> 1032</span>&#160;                              uint8_t *log_total, uint8_t *log_used,</div><div class="line"><a name="l01033"></a><span class="lineno"> 1033</span>&#160;                              <a class="code" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55ca">yh_algorithm</a> *algorithms, <span class="keywordtype">size_t</span> *n_algorithms);</div><div class="line"><a name="l01034"></a><span class="lineno"> 1034</span>&#160;</div><div class="line"><a name="l01067"></a><span class="lineno"> 1067</span>&#160;<a class="code" href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366">yh_rc</a> <a class="code" href="yubihsm_8h.html#a7cbea7103efff8473ccfaaa35bfc6346">yh_util_list_objects</a>(<a class="code" href="yubihsm_8h.html#aa3420d8ccc1fb0b0dee1af5a53cc79de">yh_session</a> *session, uint16_t <span class="keywordtype">id</span>,</div><div class="line"><a name="l01068"></a><span class="lineno"> 1068</span>&#160;                           <a class="code" href="yubihsm_8h.html#a2fe39512cb4df34b270a67dbb8e13583">yh_object_type</a> type, uint16_t domains,</div><div class="line"><a name="l01069"></a><span class="lineno"> 1069</span>&#160;                           <span class="keyword">const</span> <a class="code" href="structyh__capabilities.html">yh_capabilities</a> *capabilities,</div><div class="line"><a name="l01070"></a><span class="lineno"> 1070</span>&#160;                           <a class="code" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55ca">yh_algorithm</a> algorithm, <span class="keyword">const</span> <span class="keywordtype">char</span> *label,</div><div class="line"><a name="l01071"></a><span class="lineno"> 1071</span>&#160;                           <a class="code" href="structyh__object__descriptor.html">yh_object_descriptor</a> *objects, <span class="keywordtype">size_t</span> *n_objects);</div><div class="line"><a name="l01072"></a><span class="lineno"> 1072</span>&#160;</div><div class="line"><a name="l01088"></a><span class="lineno"> 1088</span>&#160;<a class="code" href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366">yh_rc</a> <a class="code" href="yubihsm_8h.html#a7b5f1f0c1cbca11fbe21e7e4e6b29a1b">yh_util_get_object_info</a>(<a class="code" href="yubihsm_8h.html#aa3420d8ccc1fb0b0dee1af5a53cc79de">yh_session</a> *session, uint16_t <span class="keywordtype">id</span>,</div><div class="line"><a name="l01089"></a><span class="lineno"> 1089</span>&#160;                              <a class="code" href="yubihsm_8h.html#a2fe39512cb4df34b270a67dbb8e13583">yh_object_type</a> type,</div><div class="line"><a name="l01090"></a><span class="lineno"> 1090</span>&#160;                              <a class="code" href="structyh__object__descriptor.html">yh_object_descriptor</a> *<span class="keywordtype">object</span>);</div><div class="line"><a name="l01091"></a><span class="lineno"> 1091</span>&#160;</div><div class="line"><a name="l01106"></a><span class="lineno"> 1106</span>&#160;<a class="code" href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366">yh_rc</a> <a class="code" href="yubihsm_8h.html#aa7b8b42156c4bdaf41d8b9758a2fd73f">yh_util_get_public_key</a>(<a class="code" href="yubihsm_8h.html#aa3420d8ccc1fb0b0dee1af5a53cc79de">yh_session</a> *session, uint16_t <span class="keywordtype">id</span>, uint8_t *data,</div><div class="line"><a name="l01107"></a><span class="lineno"> 1107</span>&#160;                             <span class="keywordtype">size_t</span> *data_len, <a class="code" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55ca">yh_algorithm</a> *algorithm);</div><div class="line"><a name="l01108"></a><span class="lineno"> 1108</span>&#160;</div><div class="line"><a name="l01118"></a><span class="lineno"> 1118</span>&#160;<a class="code" href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366">yh_rc</a> <a class="code" href="yubihsm_8h.html#a61ab8dbab67b1cceb49cd306f8c3f4b1">yh_util_close_session</a>(<a class="code" href="yubihsm_8h.html#aa3420d8ccc1fb0b0dee1af5a53cc79de">yh_session</a> *session);</div><div class="line"><a name="l01119"></a><span class="lineno"> 1119</span>&#160;</div><div class="line"><a name="l01138"></a><span class="lineno"> 1138</span>&#160;<a class="code" href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366">yh_rc</a> <a class="code" href="yubihsm_8h.html#aa0a7644b7b368d6aaf8b4aff5e3d19b8">yh_util_sign_pkcs1v1_5</a>(<a class="code" href="yubihsm_8h.html#aa3420d8ccc1fb0b0dee1af5a53cc79de">yh_session</a> *session, uint16_t key_id, <span class="keywordtype">bool</span> hashed,</div><div class="line"><a name="l01139"></a><span class="lineno"> 1139</span>&#160;                             <span class="keyword">const</span> uint8_t *in, <span class="keywordtype">size_t</span> in_len, uint8_t *out,</div><div class="line"><a name="l01140"></a><span class="lineno"> 1140</span>&#160;                             <span class="keywordtype">size_t</span> *out_len);</div><div class="line"><a name="l01141"></a><span class="lineno"> 1141</span>&#160;</div><div class="line"><a name="l01163"></a><span class="lineno"> 1163</span>&#160;<a class="code" href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366">yh_rc</a> <a class="code" href="yubihsm_8h.html#a944e6f31487857709f032598fd43fef5">yh_util_sign_pss</a>(<a class="code" href="yubihsm_8h.html#aa3420d8ccc1fb0b0dee1af5a53cc79de">yh_session</a> *session, uint16_t key_id, <span class="keyword">const</span> uint8_t *in,</div><div class="line"><a name="l01164"></a><span class="lineno"> 1164</span>&#160;                       <span class="keywordtype">size_t</span> in_len, uint8_t *out, <span class="keywordtype">size_t</span> *out_len,</div><div class="line"><a name="l01165"></a><span class="lineno"> 1165</span>&#160;                       <span class="keywordtype">size_t</span> salt_len, <a class="code" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55ca">yh_algorithm</a> mgf1Algo);</div><div class="line"><a name="l01166"></a><span class="lineno"> 1166</span>&#160;</div><div class="line"><a name="l01185"></a><span class="lineno"> 1185</span>&#160;<a class="code" href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366">yh_rc</a> <a class="code" href="yubihsm_8h.html#a5121c90d3bd745afd8264fef2ef39ace">yh_util_sign_ecdsa</a>(<a class="code" href="yubihsm_8h.html#aa3420d8ccc1fb0b0dee1af5a53cc79de">yh_session</a> *session, uint16_t key_id,</div><div class="line"><a name="l01186"></a><span class="lineno"> 1186</span>&#160;                         <span class="keyword">const</span> uint8_t *in, <span class="keywordtype">size_t</span> in_len, uint8_t *out,</div><div class="line"><a name="l01187"></a><span class="lineno"> 1187</span>&#160;                         <span class="keywordtype">size_t</span> *out_len);</div><div class="line"><a name="l01188"></a><span class="lineno"> 1188</span>&#160;</div><div class="line"><a name="l01204"></a><span class="lineno"> 1204</span>&#160;<a class="code" href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366">yh_rc</a> <a class="code" href="yubihsm_8h.html#a690a5585de21ce82495e139ec1dfdf9d">yh_util_sign_eddsa</a>(<a class="code" href="yubihsm_8h.html#aa3420d8ccc1fb0b0dee1af5a53cc79de">yh_session</a> *session, uint16_t key_id,</div><div class="line"><a name="l01205"></a><span class="lineno"> 1205</span>&#160;                         <span class="keyword">const</span> uint8_t *in, <span class="keywordtype">size_t</span> in_len, uint8_t *out,</div><div class="line"><a name="l01206"></a><span class="lineno"> 1206</span>&#160;                         <span class="keywordtype">size_t</span> *out_len);</div><div class="line"><a name="l01207"></a><span class="lineno"> 1207</span>&#160;</div><div class="line"><a name="l01223"></a><span class="lineno"> 1223</span>&#160;<a class="code" href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366">yh_rc</a> <a class="code" href="yubihsm_8h.html#a9000d43fe8cf7313b319f316521eb0c4">yh_util_sign_hmac</a>(<a class="code" href="yubihsm_8h.html#aa3420d8ccc1fb0b0dee1af5a53cc79de">yh_session</a> *session, uint16_t key_id, <span class="keyword">const</span> uint8_t *in,</div><div class="line"><a name="l01224"></a><span class="lineno"> 1224</span>&#160;                        <span class="keywordtype">size_t</span> in_len, uint8_t *out, <span class="keywordtype">size_t</span> *out_len);</div><div class="line"><a name="l01225"></a><span class="lineno"> 1225</span>&#160;</div><div class="line"><a name="l01238"></a><span class="lineno"> 1238</span>&#160;<a class="code" href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366">yh_rc</a> <a class="code" href="yubihsm_8h.html#af1bc8ed34687d83701eb3cc673ad4b96">yh_util_get_pseudo_random</a>(<a class="code" href="yubihsm_8h.html#aa3420d8ccc1fb0b0dee1af5a53cc79de">yh_session</a> *session, <span class="keywordtype">size_t</span> len, uint8_t *out,</div><div class="line"><a name="l01239"></a><span class="lineno"> 1239</span>&#160;                                <span class="keywordtype">size_t</span> *out_len);</div><div class="line"><a name="l01240"></a><span class="lineno"> 1240</span>&#160;</div><div class="line"><a name="l01262"></a><span class="lineno"> 1262</span>&#160;<a class="code" href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366">yh_rc</a> <a class="code" href="yubihsm_8h.html#ab0ca24007ce6942d2185859560c43e8a">yh_util_import_rsa_key</a>(<a class="code" href="yubihsm_8h.html#aa3420d8ccc1fb0b0dee1af5a53cc79de">yh_session</a> *session, uint16_t *key_id,</div><div class="line"><a name="l01263"></a><span class="lineno"> 1263</span>&#160;                             <span class="keyword">const</span> <span class="keywordtype">char</span> *label, uint16_t domains,</div><div class="line"><a name="l01264"></a><span class="lineno"> 1264</span>&#160;                             <span class="keyword">const</span> <a class="code" href="structyh__capabilities.html">yh_capabilities</a> *capabilities,</div><div class="line"><a name="l01265"></a><span class="lineno"> 1265</span>&#160;                             <a class="code" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55ca">yh_algorithm</a> algorithm, <span class="keyword">const</span> uint8_t *p,</div><div class="line"><a name="l01266"></a><span class="lineno"> 1266</span>&#160;                             <span class="keyword">const</span> uint8_t *q);</div><div class="line"><a name="l01267"></a><span class="lineno"> 1267</span>&#160;</div><div class="line"><a name="l01291"></a><span class="lineno"> 1291</span>&#160;<a class="code" href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366">yh_rc</a> <a class="code" href="yubihsm_8h.html#adc142d8f397eee024b3c145fa8abad85">yh_util_import_ec_key</a>(<a class="code" href="yubihsm_8h.html#aa3420d8ccc1fb0b0dee1af5a53cc79de">yh_session</a> *session, uint16_t *key_id,</div><div class="line"><a name="l01292"></a><span class="lineno"> 1292</span>&#160;                            <span class="keyword">const</span> <span class="keywordtype">char</span> *label, uint16_t domains,</div><div class="line"><a name="l01293"></a><span class="lineno"> 1293</span>&#160;                            <span class="keyword">const</span> <a class="code" href="structyh__capabilities.html">yh_capabilities</a> *capabilities,</div><div class="line"><a name="l01294"></a><span class="lineno"> 1294</span>&#160;                            <a class="code" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55ca">yh_algorithm</a> algorithm, <span class="keyword">const</span> uint8_t *s);</div><div class="line"><a name="l01295"></a><span class="lineno"> 1295</span>&#160;</div><div class="line"><a name="l01313"></a><span class="lineno"> 1313</span>&#160;<a class="code" href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366">yh_rc</a> <a class="code" href="yubihsm_8h.html#a7a886e052bc1571f24c6b7f0c57e2d8c">yh_util_import_ed_key</a>(<a class="code" href="yubihsm_8h.html#aa3420d8ccc1fb0b0dee1af5a53cc79de">yh_session</a> *session, uint16_t *key_id,</div><div class="line"><a name="l01314"></a><span class="lineno"> 1314</span>&#160;                            <span class="keyword">const</span> <span class="keywordtype">char</span> *label, uint16_t domains,</div><div class="line"><a name="l01315"></a><span class="lineno"> 1315</span>&#160;                            <span class="keyword">const</span> <a class="code" href="structyh__capabilities.html">yh_capabilities</a> *capabilities,</div><div class="line"><a name="l01316"></a><span class="lineno"> 1316</span>&#160;                            <a class="code" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55ca">yh_algorithm</a> algorithm, <span class="keyword">const</span> uint8_t *k);</div><div class="line"><a name="l01317"></a><span class="lineno"> 1317</span>&#160;</div><div class="line"><a name="l01338"></a><span class="lineno"> 1338</span>&#160;<a class="code" href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366">yh_rc</a> <a class="code" href="yubihsm_8h.html#a19c79faaf10c405864f0179821d551a5">yh_util_import_hmac_key</a>(<a class="code" href="yubihsm_8h.html#aa3420d8ccc1fb0b0dee1af5a53cc79de">yh_session</a> *session, uint16_t *key_id,</div><div class="line"><a name="l01339"></a><span class="lineno"> 1339</span>&#160;                              <span class="keyword">const</span> <span class="keywordtype">char</span> *label, uint16_t domains,</div><div class="line"><a name="l01340"></a><span class="lineno"> 1340</span>&#160;                              <span class="keyword">const</span> <a class="code" href="structyh__capabilities.html">yh_capabilities</a> *capabilities,</div><div class="line"><a name="l01341"></a><span class="lineno"> 1341</span>&#160;                              <a class="code" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55ca">yh_algorithm</a> algorithm, <span class="keyword">const</span> uint8_t *key,</div><div class="line"><a name="l01342"></a><span class="lineno"> 1342</span>&#160;                              <span class="keywordtype">size_t</span> key_len);</div><div class="line"><a name="l01343"></a><span class="lineno"> 1343</span>&#160;</div><div class="line"><a name="l01362"></a><span class="lineno"> 1362</span>&#160;<a class="code" href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366">yh_rc</a> <a class="code" href="yubihsm_8h.html#ab1c62ef2643184a8ad44c569c87712d1">yh_util_generate_rsa_key</a>(<a class="code" href="yubihsm_8h.html#aa3420d8ccc1fb0b0dee1af5a53cc79de">yh_session</a> *session, uint16_t *key_id,</div><div class="line"><a name="l01363"></a><span class="lineno"> 1363</span>&#160;                               <span class="keyword">const</span> <span class="keywordtype">char</span> *label, uint16_t domains,</div><div class="line"><a name="l01364"></a><span class="lineno"> 1364</span>&#160;                               <span class="keyword">const</span> <a class="code" href="structyh__capabilities.html">yh_capabilities</a> *capabilities,</div><div class="line"><a name="l01365"></a><span class="lineno"> 1365</span>&#160;                               <a class="code" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55ca">yh_algorithm</a> algorithm);</div><div class="line"><a name="l01366"></a><span class="lineno"> 1366</span>&#160;</div><div class="line"><a name="l01389"></a><span class="lineno"> 1389</span>&#160;<a class="code" href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366">yh_rc</a> <a class="code" href="yubihsm_8h.html#a2db9bbd57a908c5c454fc6254f57dcff">yh_util_generate_ec_key</a>(<a class="code" href="yubihsm_8h.html#aa3420d8ccc1fb0b0dee1af5a53cc79de">yh_session</a> *session, uint16_t *key_id,</div><div class="line"><a name="l01390"></a><span class="lineno"> 1390</span>&#160;                              <span class="keyword">const</span> <span class="keywordtype">char</span> *label, uint16_t domains,</div><div class="line"><a name="l01391"></a><span class="lineno"> 1391</span>&#160;                              <span class="keyword">const</span> <a class="code" href="structyh__capabilities.html">yh_capabilities</a> *capabilities,</div><div class="line"><a name="l01392"></a><span class="lineno"> 1392</span>&#160;                              <a class="code" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55ca">yh_algorithm</a> algorithm);</div><div class="line"><a name="l01393"></a><span class="lineno"> 1393</span>&#160;</div><div class="line"><a name="l01412"></a><span class="lineno"> 1412</span>&#160;<a class="code" href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366">yh_rc</a> <a class="code" href="yubihsm_8h.html#a41f4326fe736e99302442d6a6109edbc">yh_util_generate_ed_key</a>(<a class="code" href="yubihsm_8h.html#aa3420d8ccc1fb0b0dee1af5a53cc79de">yh_session</a> *session, uint16_t *key_id,</div><div class="line"><a name="l01413"></a><span class="lineno"> 1413</span>&#160;                              <span class="keyword">const</span> <span class="keywordtype">char</span> *label, uint16_t domains,</div><div class="line"><a name="l01414"></a><span class="lineno"> 1414</span>&#160;                              <span class="keyword">const</span> <a class="code" href="structyh__capabilities.html">yh_capabilities</a> *capabilities,</div><div class="line"><a name="l01415"></a><span class="lineno"> 1415</span>&#160;                              <a class="code" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55ca">yh_algorithm</a> algorithm);</div><div class="line"><a name="l01416"></a><span class="lineno"> 1416</span>&#160;</div><div class="line"><a name="l01434"></a><span class="lineno"> 1434</span>&#160;<a class="code" href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366">yh_rc</a> <a class="code" href="yubihsm_8h.html#ab37ae2f7fc6857b420e173284130686d">yh_util_verify_hmac</a>(<a class="code" href="yubihsm_8h.html#aa3420d8ccc1fb0b0dee1af5a53cc79de">yh_session</a> *session, uint16_t key_id,</div><div class="line"><a name="l01435"></a><span class="lineno"> 1435</span>&#160;                          <span class="keyword">const</span> uint8_t *signature, <span class="keywordtype">size_t</span> signature_len,</div><div class="line"><a name="l01436"></a><span class="lineno"> 1436</span>&#160;                          <span class="keyword">const</span> uint8_t *data, <span class="keywordtype">size_t</span> data_len, <span class="keywordtype">bool</span> *verified);</div><div class="line"><a name="l01437"></a><span class="lineno"> 1437</span>&#160;</div><div class="line"><a name="l01457"></a><span class="lineno"> 1457</span>&#160;<a class="code" href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366">yh_rc</a> <a class="code" href="yubihsm_8h.html#a1eac22853548b7ceab92550c22233b18">yh_util_generate_hmac_key</a>(<a class="code" href="yubihsm_8h.html#aa3420d8ccc1fb0b0dee1af5a53cc79de">yh_session</a> *session, uint16_t *key_id,</div><div class="line"><a name="l01458"></a><span class="lineno"> 1458</span>&#160;                                <span class="keyword">const</span> <span class="keywordtype">char</span> *label, uint16_t domains,</div><div class="line"><a name="l01459"></a><span class="lineno"> 1459</span>&#160;                                <span class="keyword">const</span> <a class="code" href="structyh__capabilities.html">yh_capabilities</a> *capabilities,</div><div class="line"><a name="l01460"></a><span class="lineno"> 1460</span>&#160;                                <a class="code" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55ca">yh_algorithm</a> algorithm);</div><div class="line"><a name="l01461"></a><span class="lineno"> 1461</span>&#160;</div><div class="line"><a name="l01478"></a><span class="lineno"> 1478</span>&#160;<a class="code" href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366">yh_rc</a> <a class="code" href="yubihsm_8h.html#a5ebf6932cd2e68b9a23787c27fde3e26">yh_util_decrypt_pkcs1v1_5</a>(<a class="code" href="yubihsm_8h.html#aa3420d8ccc1fb0b0dee1af5a53cc79de">yh_session</a> *session, uint16_t key_id,</div><div class="line"><a name="l01479"></a><span class="lineno"> 1479</span>&#160;                                <span class="keyword">const</span> uint8_t *in, <span class="keywordtype">size_t</span> in_len, uint8_t *out,</div><div class="line"><a name="l01480"></a><span class="lineno"> 1480</span>&#160;                                <span class="keywordtype">size_t</span> *out_len);</div><div class="line"><a name="l01481"></a><span class="lineno"> 1481</span>&#160;</div><div class="line"><a name="l01502"></a><span class="lineno"> 1502</span>&#160;<a class="code" href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366">yh_rc</a> <a class="code" href="yubihsm_8h.html#aa939f8764ed0cca27884d9c8f640ac14">yh_util_decrypt_oaep</a>(<a class="code" href="yubihsm_8h.html#aa3420d8ccc1fb0b0dee1af5a53cc79de">yh_session</a> *session, uint16_t key_id,</div><div class="line"><a name="l01503"></a><span class="lineno"> 1503</span>&#160;                           <span class="keyword">const</span> uint8_t *in, <span class="keywordtype">size_t</span> in_len, uint8_t *out,</div><div class="line"><a name="l01504"></a><span class="lineno"> 1504</span>&#160;                           <span class="keywordtype">size_t</span> *out_len, <span class="keyword">const</span> uint8_t *label,</div><div class="line"><a name="l01505"></a><span class="lineno"> 1505</span>&#160;                           <span class="keywordtype">size_t</span> label_len, <a class="code" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55ca">yh_algorithm</a> mgf1Algo);</div><div class="line"><a name="l01506"></a><span class="lineno"> 1506</span>&#160;</div><div class="line"><a name="l01524"></a><span class="lineno"> 1524</span>&#160;<a class="code" href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366">yh_rc</a> <a class="code" href="yubihsm_8h.html#a2900aee87732f9ec017bd1662bcef7e9">yh_util_derive_ecdh</a>(<a class="code" href="yubihsm_8h.html#aa3420d8ccc1fb0b0dee1af5a53cc79de">yh_session</a> *session, uint16_t key_id,</div><div class="line"><a name="l01525"></a><span class="lineno"> 1525</span>&#160;                          <span class="keyword">const</span> uint8_t *in, <span class="keywordtype">size_t</span> in_len, uint8_t *out,</div><div class="line"><a name="l01526"></a><span class="lineno"> 1526</span>&#160;                          <span class="keywordtype">size_t</span> *out_len);</div><div class="line"><a name="l01527"></a><span class="lineno"> 1527</span>&#160;</div><div class="line"><a name="l01540"></a><span class="lineno"> 1540</span>&#160;<a class="code" href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366">yh_rc</a> <a class="code" href="yubihsm_8h.html#ae736702f9463878db4adfd45b6a597f9">yh_util_delete_object</a>(<a class="code" href="yubihsm_8h.html#aa3420d8ccc1fb0b0dee1af5a53cc79de">yh_session</a> *session, uint16_t <span class="keywordtype">id</span>,</div><div class="line"><a name="l01541"></a><span class="lineno"> 1541</span>&#160;                            <a class="code" href="yubihsm_8h.html#a2fe39512cb4df34b270a67dbb8e13583">yh_object_type</a> type);</div><div class="line"><a name="l01542"></a><span class="lineno"> 1542</span>&#160;</div><div class="line"><a name="l01557"></a><span class="lineno"> 1557</span>&#160;<a class="code" href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366">yh_rc</a> <a class="code" href="yubihsm_8h.html#aa3f473e6dbb9188ad0269b40921c4f5f">yh_util_export_wrapped</a>(<a class="code" href="yubihsm_8h.html#aa3420d8ccc1fb0b0dee1af5a53cc79de">yh_session</a> *session, uint16_t wrapping_key_id,</div><div class="line"><a name="l01558"></a><span class="lineno"> 1558</span>&#160;                             <a class="code" href="yubihsm_8h.html#a2fe39512cb4df34b270a67dbb8e13583">yh_object_type</a> target_type, uint16_t target_id,</div><div class="line"><a name="l01559"></a><span class="lineno"> 1559</span>&#160;                             uint8_t *out, <span class="keywordtype">size_t</span> *out_len);</div><div class="line"><a name="l01560"></a><span class="lineno"> 1560</span>&#160;</div><div class="line"><a name="l01576"></a><span class="lineno"> 1576</span>&#160;<a class="code" href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366">yh_rc</a> <a class="code" href="yubihsm_8h.html#ae5bf13f9558bb0340468b722accf94d3">yh_util_import_wrapped</a>(<a class="code" href="yubihsm_8h.html#aa3420d8ccc1fb0b0dee1af5a53cc79de">yh_session</a> *session, uint16_t wrapping_key_id,</div><div class="line"><a name="l01577"></a><span class="lineno"> 1577</span>&#160;                             <span class="keyword">const</span> uint8_t *in, <span class="keywordtype">size_t</span> in_len,</div><div class="line"><a name="l01578"></a><span class="lineno"> 1578</span>&#160;                             <a class="code" href="yubihsm_8h.html#a2fe39512cb4df34b270a67dbb8e13583">yh_object_type</a> *target_type, uint16_t *target_id);</div><div class="line"><a name="l01579"></a><span class="lineno"> 1579</span>&#160;</div><div class="line"><a name="l01606"></a><span class="lineno"> 1606</span>&#160;<a class="code" href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366">yh_rc</a> <a class="code" href="yubihsm_8h.html#a3a9729ea5b2e299a735b43f2b23e50a7">yh_util_import_wrap_key</a>(<a class="code" href="yubihsm_8h.html#aa3420d8ccc1fb0b0dee1af5a53cc79de">yh_session</a> *session, uint16_t *key_id,</div><div class="line"><a name="l01607"></a><span class="lineno"> 1607</span>&#160;                              <span class="keyword">const</span> <span class="keywordtype">char</span> *label, uint16_t domains,</div><div class="line"><a name="l01608"></a><span class="lineno"> 1608</span>&#160;                              <span class="keyword">const</span> <a class="code" href="structyh__capabilities.html">yh_capabilities</a> *capabilities,</div><div class="line"><a name="l01609"></a><span class="lineno"> 1609</span>&#160;                              <a class="code" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55ca">yh_algorithm</a> algorithm,</div><div class="line"><a name="l01610"></a><span class="lineno"> 1610</span>&#160;                              <span class="keyword">const</span> <a class="code" href="structyh__capabilities.html">yh_capabilities</a> *delegated_capabilities,</div><div class="line"><a name="l01611"></a><span class="lineno"> 1611</span>&#160;                              <span class="keyword">const</span> uint8_t *in, <span class="keywordtype">size_t</span> in_len);</div><div class="line"><a name="l01612"></a><span class="lineno"> 1612</span>&#160;</div><div class="line"><a name="l01635"></a><span class="lineno"> 1635</span>&#160;<a class="code" href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366">yh_rc</a> <a class="code" href="yubihsm_8h.html#a1f749a696792e7911844629e056d9c15">yh_util_generate_wrap_key</a>(<a class="code" href="yubihsm_8h.html#aa3420d8ccc1fb0b0dee1af5a53cc79de">yh_session</a> *session, uint16_t *key_id,</div><div class="line"><a name="l01636"></a><span class="lineno"> 1636</span>&#160;                                <span class="keyword">const</span> <span class="keywordtype">char</span> *label, uint16_t domains,</div><div class="line"><a name="l01637"></a><span class="lineno"> 1637</span>&#160;                                <span class="keyword">const</span> <a class="code" href="structyh__capabilities.html">yh_capabilities</a> *capabilities,</div><div class="line"><a name="l01638"></a><span class="lineno"> 1638</span>&#160;                                <a class="code" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55ca">yh_algorithm</a> algorithm,</div><div class="line"><a name="l01639"></a><span class="lineno"> 1639</span>&#160;                                <span class="keyword">const</span> <a class="code" href="structyh__capabilities.html">yh_capabilities</a> *delegated_capabilities);</div><div class="line"><a name="l01640"></a><span class="lineno"> 1640</span>&#160;</div><div class="line"><a name="l01663"></a><span class="lineno"> 1663</span>&#160;<a class="code" href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366">yh_rc</a> <a class="code" href="yubihsm_8h.html#a5ae52ad56b7e83baeb33b46104263aa6">yh_util_get_log_entries</a>(<a class="code" href="yubihsm_8h.html#aa3420d8ccc1fb0b0dee1af5a53cc79de">yh_session</a> *session, uint16_t *unlogged_boot,</div><div class="line"><a name="l01664"></a><span class="lineno"> 1664</span>&#160;                              uint16_t *unlogged_auth, <a class="code" href="structyh__log__entry.html">yh_log_entry</a> *out,</div><div class="line"><a name="l01665"></a><span class="lineno"> 1665</span>&#160;                              <span class="keywordtype">size_t</span> *n_items);</div><div class="line"><a name="l01666"></a><span class="lineno"> 1666</span>&#160;</div><div class="line"><a name="l01682"></a><span class="lineno"> 1682</span>&#160;<a class="code" href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366">yh_rc</a> <a class="code" href="yubihsm_8h.html#a9d844855c9066bbea0e4344978dd7fdc">yh_util_set_log_index</a>(<a class="code" href="yubihsm_8h.html#aa3420d8ccc1fb0b0dee1af5a53cc79de">yh_session</a> *session, uint16_t index);</div><div class="line"><a name="l01683"></a><span class="lineno"> 1683</span>&#160;</div><div class="line"><a name="l01696"></a><span class="lineno"> 1696</span>&#160;<a class="code" href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366">yh_rc</a> <a class="code" href="yubihsm_8h.html#a56e060e71fb8baa0531b3a20848abf37">yh_util_get_opaque</a>(<a class="code" href="yubihsm_8h.html#aa3420d8ccc1fb0b0dee1af5a53cc79de">yh_session</a> *session, uint16_t object_id, uint8_t *out,</div><div class="line"><a name="l01697"></a><span class="lineno"> 1697</span>&#160;                         <span class="keywordtype">size_t</span> *out_len);</div><div class="line"><a name="l01698"></a><span class="lineno"> 1698</span>&#160;</div><div class="line"><a name="l01719"></a><span class="lineno"> 1719</span>&#160;<a class="code" href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366">yh_rc</a> <a class="code" href="yubihsm_8h.html#a1249c920eec24f634d04eaafb90a1ca2">yh_util_import_opaque</a>(<a class="code" href="yubihsm_8h.html#aa3420d8ccc1fb0b0dee1af5a53cc79de">yh_session</a> *session, uint16_t *object_id,</div><div class="line"><a name="l01720"></a><span class="lineno"> 1720</span>&#160;                            <span class="keyword">const</span> <span class="keywordtype">char</span> *label, uint16_t domains,</div><div class="line"><a name="l01721"></a><span class="lineno"> 1721</span>&#160;                            <span class="keyword">const</span> <a class="code" href="structyh__capabilities.html">yh_capabilities</a> *capabilities,</div><div class="line"><a name="l01722"></a><span class="lineno"> 1722</span>&#160;                            <a class="code" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55ca">yh_algorithm</a> algorithm, <span class="keyword">const</span> uint8_t *in,</div><div class="line"><a name="l01723"></a><span class="lineno"> 1723</span>&#160;                            <span class="keywordtype">size_t</span> in_len);</div><div class="line"><a name="l01724"></a><span class="lineno"> 1724</span>&#160;</div><div class="line"><a name="l01743"></a><span class="lineno"> 1743</span>&#160;<a class="code" href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366">yh_rc</a> <a class="code" href="yubihsm_8h.html#a45c32b993856be818a70c0ffad589cbd">yh_util_sign_ssh_certificate</a>(<a class="code" href="yubihsm_8h.html#aa3420d8ccc1fb0b0dee1af5a53cc79de">yh_session</a> *session, uint16_t key_id,</div><div class="line"><a name="l01744"></a><span class="lineno"> 1744</span>&#160;                                   uint16_t template_id, <a class="code" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55ca">yh_algorithm</a> sig_algo,</div><div class="line"><a name="l01745"></a><span class="lineno"> 1745</span>&#160;                                   <span class="keyword">const</span> uint8_t *in, <span class="keywordtype">size_t</span> in_len,</div><div class="line"><a name="l01746"></a><span class="lineno"> 1746</span>&#160;                                   uint8_t *out, <span class="keywordtype">size_t</span> *out_len);</div><div class="line"><a name="l01747"></a><span class="lineno"> 1747</span>&#160;</div><div class="line"><a name="l01773"></a><span class="lineno"> 1773</span>&#160;<a class="code" href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366">yh_rc</a> <a class="code" href="yubihsm_8h.html#ac154da7ac6dc0a7b4b3a6cdff9433da8">yh_util_import_authentication_key</a>(</div><div class="line"><a name="l01774"></a><span class="lineno"> 1774</span>&#160;  <a class="code" href="yubihsm_8h.html#aa3420d8ccc1fb0b0dee1af5a53cc79de">yh_session</a> *session, uint16_t *key_id, <span class="keyword">const</span> <span class="keywordtype">char</span> *label, uint16_t domains,</div><div class="line"><a name="l01775"></a><span class="lineno"> 1775</span>&#160;  <span class="keyword">const</span> <a class="code" href="structyh__capabilities.html">yh_capabilities</a> *capabilities,</div><div class="line"><a name="l01776"></a><span class="lineno"> 1776</span>&#160;  <span class="keyword">const</span> <a class="code" href="structyh__capabilities.html">yh_capabilities</a> *delegated_capabilities, <span class="keyword">const</span> uint8_t *key_enc,</div><div class="line"><a name="l01777"></a><span class="lineno"> 1777</span>&#160;  <span class="keywordtype">size_t</span> key_enc_len, <span class="keyword">const</span> uint8_t *key_mac, <span class="keywordtype">size_t</span> key_mac_len);</div><div class="line"><a name="l01778"></a><span class="lineno"> 1778</span>&#160;</div><div class="line"><a name="l01801"></a><span class="lineno"> 1801</span>&#160;<a class="code" href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366">yh_rc</a> <a class="code" href="yubihsm_8h.html#a80b4c4caeb9c768737c2dbf46d9352e4">yh_util_import_authentication_key_derived</a>(</div><div class="line"><a name="l01802"></a><span class="lineno"> 1802</span>&#160;  <a class="code" href="yubihsm_8h.html#aa3420d8ccc1fb0b0dee1af5a53cc79de">yh_session</a> *session, uint16_t *key_id, <span class="keyword">const</span> <span class="keywordtype">char</span> *label, uint16_t domains,</div><div class="line"><a name="l01803"></a><span class="lineno"> 1803</span>&#160;  <span class="keyword">const</span> <a class="code" href="structyh__capabilities.html">yh_capabilities</a> *capabilities,</div><div class="line"><a name="l01804"></a><span class="lineno"> 1804</span>&#160;  <span class="keyword">const</span> <a class="code" href="structyh__capabilities.html">yh_capabilities</a> *delegated_capabilities, <span class="keyword">const</span> uint8_t *password,</div><div class="line"><a name="l01805"></a><span class="lineno"> 1805</span>&#160;  <span class="keywordtype">size_t</span> password_len);</div><div class="line"><a name="l01806"></a><span class="lineno"> 1806</span>&#160;</div><div class="line"><a name="l01827"></a><span class="lineno"> 1827</span>&#160;<a class="code" href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366">yh_rc</a> <a class="code" href="yubihsm_8h.html#a8f229874e387887d7c5b4c7e6e07db8e">yh_util_change_authentication_key</a>(<a class="code" href="yubihsm_8h.html#aa3420d8ccc1fb0b0dee1af5a53cc79de">yh_session</a> *session, uint16_t *key_id,</div><div class="line"><a name="l01828"></a><span class="lineno"> 1828</span>&#160;                                        <span class="keyword">const</span> uint8_t *key_enc,</div><div class="line"><a name="l01829"></a><span class="lineno"> 1829</span>&#160;                                        <span class="keywordtype">size_t</span> key_enc_len,</div><div class="line"><a name="l01830"></a><span class="lineno"> 1830</span>&#160;                                        <span class="keyword">const</span> uint8_t *key_mac,</div><div class="line"><a name="l01831"></a><span class="lineno"> 1831</span>&#160;                                        <span class="keywordtype">size_t</span> key_mac_len);</div><div class="line"><a name="l01832"></a><span class="lineno"> 1832</span>&#160;</div><div class="line"><a name="l01851"></a><span class="lineno"> 1851</span>&#160;<a class="code" href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366">yh_rc</a> <a class="code" href="yubihsm_8h.html#a8761bd8bcffcee4af737bda255ce5e53">yh_util_change_authentication_key_derived</a>(<a class="code" href="yubihsm_8h.html#aa3420d8ccc1fb0b0dee1af5a53cc79de">yh_session</a> *session,</div><div class="line"><a name="l01852"></a><span class="lineno"> 1852</span>&#160;                                                uint16_t *key_id,</div><div class="line"><a name="l01853"></a><span class="lineno"> 1853</span>&#160;                                                <span class="keyword">const</span> uint8_t *password,</div><div class="line"><a name="l01854"></a><span class="lineno"> 1854</span>&#160;                                                <span class="keywordtype">size_t</span> password_len);</div><div class="line"><a name="l01855"></a><span class="lineno"> 1855</span>&#160;</div><div class="line"><a name="l01868"></a><span class="lineno"> 1868</span>&#160;<a class="code" href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366">yh_rc</a> <a class="code" href="yubihsm_8h.html#a47768ae0e72beba49f02db1baddf4823">yh_util_get_template</a>(<a class="code" href="yubihsm_8h.html#aa3420d8ccc1fb0b0dee1af5a53cc79de">yh_session</a> *session, uint16_t object_id,</div><div class="line"><a name="l01869"></a><span class="lineno"> 1869</span>&#160;                           uint8_t *out, <span class="keywordtype">size_t</span> *out_len);</div><div class="line"><a name="l01870"></a><span class="lineno"> 1870</span>&#160;</div><div class="line"><a name="l01891"></a><span class="lineno"> 1891</span>&#160;<a class="code" href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366">yh_rc</a> <a class="code" href="yubihsm_8h.html#ae0fc8d6520950868365011d1a9f450f1">yh_util_import_template</a>(<a class="code" href="yubihsm_8h.html#aa3420d8ccc1fb0b0dee1af5a53cc79de">yh_session</a> *session, uint16_t *object_id,</div><div class="line"><a name="l01892"></a><span class="lineno"> 1892</span>&#160;                              <span class="keyword">const</span> <span class="keywordtype">char</span> *label, uint16_t domains,</div><div class="line"><a name="l01893"></a><span class="lineno"> 1893</span>&#160;                              <span class="keyword">const</span> <a class="code" href="structyh__capabilities.html">yh_capabilities</a> *capabilities,</div><div class="line"><a name="l01894"></a><span class="lineno"> 1894</span>&#160;                              <a class="code" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55ca">yh_algorithm</a> algorithm, <span class="keyword">const</span> uint8_t *in,</div><div class="line"><a name="l01895"></a><span class="lineno"> 1895</span>&#160;                              <span class="keywordtype">size_t</span> in_len);</div><div class="line"><a name="l01896"></a><span class="lineno"> 1896</span>&#160;</div><div class="line"><a name="l01911"></a><span class="lineno"> 1911</span>&#160;<a class="code" href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366">yh_rc</a> <a class="code" href="yubihsm_8h.html#a82d295a02d9eb628f6dea4b4c01fdec4">yh_util_create_otp_aead</a>(<a class="code" href="yubihsm_8h.html#aa3420d8ccc1fb0b0dee1af5a53cc79de">yh_session</a> *session, uint16_t key_id,</div><div class="line"><a name="l01912"></a><span class="lineno"> 1912</span>&#160;                              <span class="keyword">const</span> uint8_t *key, <span class="keyword">const</span> uint8_t *private_id,</div><div class="line"><a name="l01913"></a><span class="lineno"> 1913</span>&#160;                              uint8_t *out, <span class="keywordtype">size_t</span> *out_len);</div><div class="line"><a name="l01914"></a><span class="lineno"> 1914</span>&#160;</div><div class="line"><a name="l01927"></a><span class="lineno"> 1927</span>&#160;<a class="code" href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366">yh_rc</a> <a class="code" href="yubihsm_8h.html#a4bb1d420f681bc91bd36dc08695dbad6">yh_util_randomize_otp_aead</a>(<a class="code" href="yubihsm_8h.html#aa3420d8ccc1fb0b0dee1af5a53cc79de">yh_session</a> *session, uint16_t key_id,</div><div class="line"><a name="l01928"></a><span class="lineno"> 1928</span>&#160;                                 uint8_t *out, <span class="keywordtype">size_t</span> *out_len);</div><div class="line"><a name="l01929"></a><span class="lineno"> 1929</span>&#160;</div><div class="line"><a name="l01948"></a><span class="lineno"> 1948</span>&#160;<a class="code" href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366">yh_rc</a> <a class="code" href="yubihsm_8h.html#a3677afe2209a1cae31f70a304e260e28">yh_util_decrypt_otp</a>(<a class="code" href="yubihsm_8h.html#aa3420d8ccc1fb0b0dee1af5a53cc79de">yh_session</a> *session, uint16_t key_id,</div><div class="line"><a name="l01949"></a><span class="lineno"> 1949</span>&#160;                          <span class="keyword">const</span> uint8_t *aead, <span class="keywordtype">size_t</span> aead_len,</div><div class="line"><a name="l01950"></a><span class="lineno"> 1950</span>&#160;                          <span class="keyword">const</span> uint8_t *otp, uint16_t *useCtr,</div><div class="line"><a name="l01951"></a><span class="lineno"> 1951</span>&#160;                          uint8_t *sessionCtr, uint8_t *tstph, uint16_t *tstpl);</div><div class="line"><a name="l01952"></a><span class="lineno"> 1952</span>&#160;</div><div class="line"><a name="l01973"></a><span class="lineno"> 1973</span>&#160;<a class="code" href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366">yh_rc</a> <a class="code" href="yubihsm_8h.html#addc22271306d847f53321984f41d818b">yh_util_import_otp_aead_key</a>(<a class="code" href="yubihsm_8h.html#aa3420d8ccc1fb0b0dee1af5a53cc79de">yh_session</a> *session, uint16_t *key_id,</div><div class="line"><a name="l01974"></a><span class="lineno"> 1974</span>&#160;                                  <span class="keyword">const</span> <span class="keywordtype">char</span> *label, uint16_t domains,</div><div class="line"><a name="l01975"></a><span class="lineno"> 1975</span>&#160;                                  <span class="keyword">const</span> <a class="code" href="structyh__capabilities.html">yh_capabilities</a> *capabilities,</div><div class="line"><a name="l01976"></a><span class="lineno"> 1976</span>&#160;                                  uint32_t nonce_id, <span class="keyword">const</span> uint8_t *in,</div><div class="line"><a name="l01977"></a><span class="lineno"> 1977</span>&#160;                                  <span class="keywordtype">size_t</span> in_len);</div><div class="line"><a name="l01978"></a><span class="lineno"> 1978</span>&#160;</div><div class="line"><a name="l01999"></a><span class="lineno"> 1999</span>&#160;<a class="code" href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366">yh_rc</a> <a class="code" href="yubihsm_8h.html#a9e130d225a8dc003d7a7c0ce4b8ea5e4">yh_util_generate_otp_aead_key</a>(<a class="code" href="yubihsm_8h.html#aa3420d8ccc1fb0b0dee1af5a53cc79de">yh_session</a> *session, uint16_t *key_id,</div><div class="line"><a name="l02000"></a><span class="lineno"> 2000</span>&#160;                                    <span class="keyword">const</span> <span class="keywordtype">char</span> *label, uint16_t domains,</div><div class="line"><a name="l02001"></a><span class="lineno"> 2001</span>&#160;                                    <span class="keyword">const</span> <a class="code" href="structyh__capabilities.html">yh_capabilities</a> *capabilities,</div><div class="line"><a name="l02002"></a><span class="lineno"> 2002</span>&#160;                                    <a class="code" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55ca">yh_algorithm</a> algorithm, uint32_t nonce_id);</div><div class="line"><a name="l02003"></a><span class="lineno"> 2003</span>&#160;</div><div class="line"><a name="l02018"></a><span class="lineno"> 2018</span>&#160;<a class="code" href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366">yh_rc</a> <a class="code" href="yubihsm_8h.html#a5988faffd97366b188728ff1a7fb6e89">yh_util_sign_attestation_certificate</a>(<a class="code" href="yubihsm_8h.html#aa3420d8ccc1fb0b0dee1af5a53cc79de">yh_session</a> *session, uint16_t key_id,</div><div class="line"><a name="l02019"></a><span class="lineno"> 2019</span>&#160;                                           uint16_t attest_id, uint8_t *out,</div><div class="line"><a name="l02020"></a><span class="lineno"> 2020</span>&#160;                                           <span class="keywordtype">size_t</span> *out_len);</div><div class="line"><a name="l02021"></a><span class="lineno"> 2021</span>&#160;</div><div class="line"><a name="l02035"></a><span class="lineno"> 2035</span>&#160;<a class="code" href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366">yh_rc</a> <a class="code" href="yubihsm_8h.html#a85ac840aec77cb1ca3c3ce1f2ab26282">yh_util_set_option</a>(<a class="code" href="yubihsm_8h.html#aa3420d8ccc1fb0b0dee1af5a53cc79de">yh_session</a> *session, <a class="code" href="yubihsm_8h.html#acc8090ce0ec5029b376803e44b1cb4aa">yh_option</a> option, <span class="keywordtype">size_t</span> len,</div><div class="line"><a name="l02036"></a><span class="lineno"> 2036</span>&#160;                         uint8_t *val);</div><div class="line"><a name="l02037"></a><span class="lineno"> 2037</span>&#160;</div><div class="line"><a name="l02050"></a><span class="lineno"> 2050</span>&#160;<a class="code" href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366">yh_rc</a> <a class="code" href="yubihsm_8h.html#a11871e03c808e2d25737f893e58ed094">yh_util_get_option</a>(<a class="code" href="yubihsm_8h.html#aa3420d8ccc1fb0b0dee1af5a53cc79de">yh_session</a> *session, <a class="code" href="yubihsm_8h.html#acc8090ce0ec5029b376803e44b1cb4aa">yh_option</a> option, uint8_t *out,</div><div class="line"><a name="l02051"></a><span class="lineno"> 2051</span>&#160;                         <span class="keywordtype">size_t</span> *out_len);</div><div class="line"><a name="l02052"></a><span class="lineno"> 2052</span>&#160;</div><div class="line"><a name="l02068"></a><span class="lineno"> 2068</span>&#160;<a class="code" href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366">yh_rc</a> <a class="code" href="yubihsm_8h.html#ae87d5578703775b9d4151a14435f4a73">yh_util_get_storage_info</a>(<a class="code" href="yubihsm_8h.html#aa3420d8ccc1fb0b0dee1af5a53cc79de">yh_session</a> *session, uint16_t *total_records,</div><div class="line"><a name="l02069"></a><span class="lineno"> 2069</span>&#160;                               uint16_t *free_records, uint16_t *total_pages,</div><div class="line"><a name="l02070"></a><span class="lineno"> 2070</span>&#160;                               uint16_t *free_pages, uint16_t *page_size);</div><div class="line"><a name="l02071"></a><span class="lineno"> 2071</span>&#160;</div><div class="line"><a name="l02087"></a><span class="lineno"> 2087</span>&#160;<a class="code" href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366">yh_rc</a> <a class="code" href="yubihsm_8h.html#a7c2e101be04ad1546d99d5600e732eca">yh_util_wrap_data</a>(<a class="code" href="yubihsm_8h.html#aa3420d8ccc1fb0b0dee1af5a53cc79de">yh_session</a> *session, uint16_t key_id, <span class="keyword">const</span> uint8_t *in,</div><div class="line"><a name="l02088"></a><span class="lineno"> 2088</span>&#160;                        <span class="keywordtype">size_t</span> in_len, uint8_t *out, <span class="keywordtype">size_t</span> *out_len);</div><div class="line"><a name="l02089"></a><span class="lineno"> 2089</span>&#160;</div><div class="line"><a name="l02105"></a><span class="lineno"> 2105</span>&#160;<a class="code" href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366">yh_rc</a> <a class="code" href="yubihsm_8h.html#a550567a0f56d8536b9b5f34e905da7ec">yh_util_unwrap_data</a>(<a class="code" href="yubihsm_8h.html#aa3420d8ccc1fb0b0dee1af5a53cc79de">yh_session</a> *session, uint16_t key_id,</div><div class="line"><a name="l02106"></a><span class="lineno"> 2106</span>&#160;                          <span class="keyword">const</span> uint8_t *in, <span class="keywordtype">size_t</span> in_len, uint8_t *out,</div><div class="line"><a name="l02107"></a><span class="lineno"> 2107</span>&#160;                          <span class="keywordtype">size_t</span> *out_len);</div><div class="line"><a name="l02108"></a><span class="lineno"> 2108</span>&#160;</div><div class="line"><a name="l02119"></a><span class="lineno"> 2119</span>&#160;<a class="code" href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366">yh_rc</a> <a class="code" href="yubihsm_8h.html#ad112fe09ee88d595333fa87e8059717b">yh_util_blink_device</a>(<a class="code" href="yubihsm_8h.html#aa3420d8ccc1fb0b0dee1af5a53cc79de">yh_session</a> *session, uint8_t seconds);</div><div class="line"><a name="l02120"></a><span class="lineno"> 2120</span>&#160;</div><div class="line"><a name="l02131"></a><span class="lineno"> 2131</span>&#160;<a class="code" href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366">yh_rc</a> <a class="code" href="yubihsm_8h.html#a5c153fe27877bcc7927d391fb55550af">yh_util_reset_device</a>(<a class="code" href="yubihsm_8h.html#aa3420d8ccc1fb0b0dee1af5a53cc79de">yh_session</a> *session);</div><div class="line"><a name="l02132"></a><span class="lineno"> 2132</span>&#160;</div><div class="line"><a name="l02142"></a><span class="lineno"> 2142</span>&#160;<a class="code" href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366">yh_rc</a> <a class="code" href="yubihsm_8h.html#aeabf472faf1ba8d963b39866e04df6b0">yh_get_session_id</a>(<a class="code" href="yubihsm_8h.html#aa3420d8ccc1fb0b0dee1af5a53cc79de">yh_session</a> *session, uint8_t *sid);</div><div class="line"><a name="l02143"></a><span class="lineno"> 2143</span>&#160;</div><div class="line"><a name="l02152"></a><span class="lineno"> 2152</span>&#160;<span class="keywordtype">bool</span> <a class="code" href="yubihsm_8h.html#a163506939cedbc1e849bdcfb8b5fe1de">yh_connector_has_device</a>(<a class="code" href="yubihsm_8h.html#a114f98fee4b67eadd9b89b675632c710">yh_connector</a> *connector);</div><div class="line"><a name="l02153"></a><span class="lineno"> 2153</span>&#160;</div><div class="line"><a name="l02165"></a><span class="lineno"> 2165</span>&#160;<a class="code" href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366">yh_rc</a> <a class="code" href="yubihsm_8h.html#a2b9f4070a103724b241e0a2b6a56d1ba">yh_get_connector_version</a>(<a class="code" href="yubihsm_8h.html#a114f98fee4b67eadd9b89b675632c710">yh_connector</a> *connector, uint8_t *major,</div><div class="line"><a name="l02166"></a><span class="lineno"> 2166</span>&#160;                               uint8_t *minor, uint8_t *patch);</div><div class="line"><a name="l02167"></a><span class="lineno"> 2167</span>&#160;</div><div class="line"><a name="l02177"></a><span class="lineno"> 2177</span>&#160;<a class="code" href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366">yh_rc</a> <a class="code" href="yubihsm_8h.html#acb5d5e9a2718b9427269f7d267ca25b9">yh_get_connector_address</a>(<a class="code" href="yubihsm_8h.html#a114f98fee4b67eadd9b89b675632c710">yh_connector</a> *connector, <span class="keywordtype">char</span> **<span class="keyword">const</span> address);</div><div class="line"><a name="l02178"></a><span class="lineno"> 2178</span>&#160;</div><div class="line"><a name="l02201"></a><span class="lineno"> 2201</span>&#160;<a class="code" href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366">yh_rc</a> <a class="code" href="yubihsm_8h.html#aab440e1cb671d9ba7a2e7d1243960e42">yh_string_to_capabilities</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *capability,</div><div class="line"><a name="l02202"></a><span class="lineno"> 2202</span>&#160;                                <a class="code" href="structyh__capabilities.html">yh_capabilities</a> *result);</div><div class="line"><a name="l02203"></a><span class="lineno"> 2203</span>&#160;</div><div class="line"><a name="l02218"></a><span class="lineno"> 2218</span>&#160;<a class="code" href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366">yh_rc</a> <a class="code" href="yubihsm_8h.html#ac46bac75dfd0a4358a4e6b432a50e48a">yh_capabilities_to_strings</a>(<span class="keyword">const</span> <a class="code" href="structyh__capabilities.html">yh_capabilities</a> *num,</div><div class="line"><a name="l02219"></a><span class="lineno"> 2219</span>&#160;                                 <span class="keyword">const</span> <span class="keywordtype">char</span> *result[], <span class="keywordtype">size_t</span> *n_result);</div><div class="line"><a name="l02220"></a><span class="lineno"> 2220</span>&#160;</div><div class="line"><a name="l02242"></a><span class="lineno"> 2242</span>&#160;<span class="keywordtype">bool</span> <a class="code" href="yubihsm_8h.html#aba384949362ccaf19cbeae3bb046489c">yh_check_capability</a>(<span class="keyword">const</span> <a class="code" href="structyh__capabilities.html">yh_capabilities</a> *capabilities,</div><div class="line"><a name="l02243"></a><span class="lineno"> 2243</span>&#160;                         <span class="keyword">const</span> <span class="keywordtype">char</span> *capability);</div><div class="line"><a name="l02244"></a><span class="lineno"> 2244</span>&#160;</div><div class="line"><a name="l02259"></a><span class="lineno"> 2259</span>&#160;<a class="code" href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366">yh_rc</a> <a class="code" href="yubihsm_8h.html#afcca1608845e7a783d41d8ffd6aac8ed">yh_merge_capabilities</a>(<span class="keyword">const</span> <a class="code" href="structyh__capabilities.html">yh_capabilities</a> *a, <span class="keyword">const</span> <a class="code" href="structyh__capabilities.html">yh_capabilities</a> *b,</div><div class="line"><a name="l02260"></a><span class="lineno"> 2260</span>&#160;                            <a class="code" href="structyh__capabilities.html">yh_capabilities</a> *result);</div><div class="line"><a name="l02261"></a><span class="lineno"> 2261</span>&#160;</div><div class="line"><a name="l02277"></a><span class="lineno"> 2277</span>&#160;<a class="code" href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366">yh_rc</a> <a class="code" href="yubihsm_8h.html#a900031f15115ee22e885d2de7ec80a4a">yh_filter_capabilities</a>(<span class="keyword">const</span> <a class="code" href="structyh__capabilities.html">yh_capabilities</a> *capabilities,</div><div class="line"><a name="l02278"></a><span class="lineno"> 2278</span>&#160;                             <span class="keyword">const</span> <a class="code" href="structyh__capabilities.html">yh_capabilities</a> *filter,</div><div class="line"><a name="l02279"></a><span class="lineno"> 2279</span>&#160;                             <a class="code" href="structyh__capabilities.html">yh_capabilities</a> *result);</div><div class="line"><a name="l02280"></a><span class="lineno"> 2280</span>&#160;</div><div class="line"><a name="l02292"></a><span class="lineno"> 2292</span>&#160;<span class="keywordtype">bool</span> <a class="code" href="yubihsm_8h.html#a0a67155f2a7970ecb52e4f6aac6bbe84">yh_is_rsa</a>(<a class="code" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55ca">yh_algorithm</a> algorithm);</div><div class="line"><a name="l02293"></a><span class="lineno"> 2293</span>&#160;</div><div class="line"><a name="l02306"></a><span class="lineno"> 2306</span>&#160;<span class="keywordtype">bool</span> <a class="code" href="yubihsm_8h.html#a3032a8f45bfad36ed6157b0158dd7921">yh_is_ec</a>(<a class="code" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55ca">yh_algorithm</a> algorithm);</div><div class="line"><a name="l02307"></a><span class="lineno"> 2307</span>&#160;</div><div class="line"><a name="l02317"></a><span class="lineno"> 2317</span>&#160;<span class="keywordtype">bool</span> <a class="code" href="yubihsm_8h.html#a16fbf4426acbf42695c4ec4738b6ae8a">yh_is_ed</a>(<a class="code" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55ca">yh_algorithm</a> algorithm);</div><div class="line"><a name="l02318"></a><span class="lineno"> 2318</span>&#160;</div><div class="line"><a name="l02330"></a><span class="lineno"> 2330</span>&#160;<span class="keywordtype">bool</span> <a class="code" href="yubihsm_8h.html#acb19de78e7d1aed72abbed5c74c676bc">yh_is_hmac</a>(<a class="code" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55ca">yh_algorithm</a> algorithm);</div><div class="line"><a name="l02331"></a><span class="lineno"> 2331</span>&#160;</div><div class="line"><a name="l02343"></a><span class="lineno"> 2343</span>&#160;<a class="code" href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366">yh_rc</a> <a class="code" href="yubihsm_8h.html#a375000f12ac554eb8cbaa0e6b75c3a08">yh_get_key_bitlength</a>(<a class="code" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55ca">yh_algorithm</a> algorithm, <span class="keywordtype">size_t</span> *result);</div><div class="line"><a name="l02344"></a><span class="lineno"> 2344</span>&#160;</div><div class="line"><a name="l02358"></a><span class="lineno"> 2358</span>&#160;<a class="code" href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366">yh_rc</a> <a class="code" href="yubihsm_8h.html#a2a0d369611aa795c62645467062a9acb">yh_algo_to_string</a>(<a class="code" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55ca">yh_algorithm</a> algo, <span class="keywordtype">char</span> <span class="keyword">const</span> **result);</div><div class="line"><a name="l02359"></a><span class="lineno"> 2359</span>&#160;</div><div class="line"><a name="l02383"></a><span class="lineno"> 2383</span>&#160;<a class="code" href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366">yh_rc</a> <a class="code" href="yubihsm_8h.html#aad9943d12261cc0f0cada93cbd6d0704">yh_string_to_algo</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *<span class="keywordtype">string</span>, <a class="code" href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55ca">yh_algorithm</a> *algo);</div><div class="line"><a name="l02384"></a><span class="lineno"> 2384</span>&#160;</div><div class="line"><a name="l02406"></a><span class="lineno"> 2406</span>&#160;<a class="code" href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366">yh_rc</a> <a class="code" href="yubihsm_8h.html#afe3d701f7470c1d7b05480e4b6728bf7">yh_type_to_string</a>(<a class="code" href="yubihsm_8h.html#a2fe39512cb4df34b270a67dbb8e13583">yh_object_type</a> type, <span class="keywordtype">char</span> <span class="keyword">const</span> **result);</div><div class="line"><a name="l02407"></a><span class="lineno"> 2407</span>&#160;</div><div class="line"><a name="l02431"></a><span class="lineno"> 2431</span>&#160;<a class="code" href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366">yh_rc</a> <a class="code" href="yubihsm_8h.html#a57cdfa4b6224bd2c4a8bab24513475d8">yh_string_to_type</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *<span class="keywordtype">string</span>, <a class="code" href="yubihsm_8h.html#a2fe39512cb4df34b270a67dbb8e13583">yh_object_type</a> *type);</div><div class="line"><a name="l02432"></a><span class="lineno"> 2432</span>&#160;</div><div class="line"><a name="l02455"></a><span class="lineno"> 2455</span>&#160;<a class="code" href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366">yh_rc</a> <a class="code" href="yubihsm_8h.html#a5464c7a6ad858c1e4e42e588b406c2d3">yh_string_to_option</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *<span class="keywordtype">string</span>, <a class="code" href="yubihsm_8h.html#acc8090ce0ec5029b376803e44b1cb4aa">yh_option</a> *option);</div><div class="line"><a name="l02456"></a><span class="lineno"> 2456</span>&#160;</div><div class="line"><a name="l02470"></a><span class="lineno"> 2470</span>&#160;<span class="keywordtype">bool</span> <a class="code" href="yubihsm_8h.html#a00b81c3c9ca2964a672b7b0b725925e4">yh_verify_logs</a>(<a class="code" href="structyh__log__entry.html">yh_log_entry</a> *logs, <span class="keywordtype">size_t</span> n_items,</div><div class="line"><a name="l02471"></a><span class="lineno"> 2471</span>&#160;                    <a class="code" href="structyh__log__entry.html">yh_log_entry</a> *last_previous_log);</div><div class="line"><a name="l02472"></a><span class="lineno"> 2472</span>&#160;</div><div class="line"><a name="l02505"></a><span class="lineno"> 2505</span>&#160;<a class="code" href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366">yh_rc</a> <a class="code" href="yubihsm_8h.html#a96a4c751a281515d5610adb8fd779438">yh_string_to_domains</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *domains, uint16_t *result);</div><div class="line"><a name="l02506"></a><span class="lineno"> 2506</span>&#160;</div><div class="line"><a name="l02527"></a><span class="lineno"> 2527</span>&#160;<a class="code" href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366">yh_rc</a> <a class="code" href="yubihsm_8h.html#a0100df295f7ecf0d0cc90052aac20586">yh_domains_to_string</a>(uint16_t domains, <span class="keywordtype">char</span> *<span class="keywordtype">string</span>, <span class="keywordtype">size_t</span> max_len);</div><div class="line"><a name="l02528"></a><span class="lineno"> 2528</span>&#160;<span class="preprocessor">#ifdef __cplusplus</span></div><div class="line"><a name="l02529"></a><span class="lineno"> 2529</span>&#160;}</div><div class="line"><a name="l02530"></a><span class="lineno"> 2530</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l02531"></a><span class="lineno"> 2531</span>&#160;</div><div class="line"><a name="l02532"></a><span class="lineno"> 2532</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="yubihsm_8h_html_a498937b5a72accbb0ef21bb1dcdd55caab2dc1e1157cd653f7674df10eb145fc3"><div class="ttname"><a href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caab2dc1e1157cd653f7674df10eb145fc3">YH_ALGO_OPAQUE_DATA</a></div><div class="ttdoc">opaque-data </div><div class="ttdef"><b>Definition:</b> yubihsm.h:450</div></div>
<div class="ttc" id="yubihsm_8h_html_a2a0d369611aa795c62645467062a9acb"><div class="ttname"><a href="yubihsm_8h.html#a2a0d369611aa795c62645467062a9acb">yh_algo_to_string</a></div><div class="ttdeci">yh_rc yh_algo_to_string(yh_algorithm algo, char const **result)</div><div class="ttdoc">Convert an algorithm to its string representation. </div></div>
<div class="ttc" id="yubihsm_8h_html_aa5415bafa9c48dfef0e183d8df504b7ea8eae52f5e9117bfa52f0a5fe7d7b70c7"><div class="ttname"><a href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7ea8eae52f5e9117bfa52f0a5fe7d7b70c7">YHC_VERIFY_HMAC</a></div><div class="ttdoc">Verify a generated HMAC. </div><div class="ttdef"><b>Definition:</b> yubihsm.h:313</div></div>
<div class="ttc" id="yubihsm_8h_html_a9e130d225a8dc003d7a7c0ce4b8ea5e4"><div class="ttname"><a href="yubihsm_8h.html#a9e130d225a8dc003d7a7c0ce4b8ea5e4">yh_util_generate_otp_aead_key</a></div><div class="ttdeci">yh_rc yh_util_generate_otp_aead_key(yh_session *session, uint16_t *key_id, const char *label, uint16_t domains, const yh_capabilities *capabilities, yh_algorithm algorithm, uint32_t nonce_id)</div><div class="ttdoc">Generate an YH_OTP_AEAD_KEY for Yubico OTP decryption in the device. </div></div>
<div class="ttc" id="yubihsm_8h_html_aa5415bafa9c48dfef0e183d8df504b7eaa8f4aa4e5858433726b93b4274ccde44"><div class="ttname"><a href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7eaa8f4aa4e5858433726b93b4274ccde44">YHC_GENERATE_HMAC_KEY</a></div><div class="ttdoc">Generate an HMAC Key in the device. </div><div class="ttdef"><b>Definition:</b> yubihsm.h:309</div></div>
<div class="ttc" id="yubihsm_8h_html_a498937b5a72accbb0ef21bb1dcdd55caae3f68121c91d613fe450c12fad55eab2"><div class="ttname"><a href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caae3f68121c91d613fe450c12fad55eab2">YH_ALGO_MGF1_SHA256</a></div><div class="ttdoc">mgf1-sha256 </div><div class="ttdef"><b>Definition:</b> yubihsm.h:456</div></div>
<div class="ttc" id="yubihsm_8h_html_a9addbfae4cdb70b819986e7769cdd102"><div class="ttname"><a href="yubihsm_8h.html#a9addbfae4cdb70b819986e7769cdd102">yh_set_connector_option</a></div><div class="ttdeci">yh_rc yh_set_connector_option(yh_connector *connector, yh_connector_option opt, const void *val)</div><div class="ttdoc">Set connector options. </div></div>
<div class="ttc" id="yubihsm_8h_html_a2fe39512cb4df34b270a67dbb8e13583ab71424e16384319d6e6a12f9a3d8ceae"><div class="ttname"><a href="yubihsm_8h.html#a2fe39512cb4df34b270a67dbb8e13583ab71424e16384319d6e6a12f9a3d8ceae">YH_ASYMMETRIC_KEY</a></div><div class="ttdoc">Asymmetric Key is the private key of an asymmetric key-pair. </div><div class="ttdef"><b>Definition:</b> yubihsm.h:366</div></div>
<div class="ttc" id="yubihsm_8h_html_aad9943d12261cc0f0cada93cbd6d0704"><div class="ttname"><a href="yubihsm_8h.html#aad9943d12261cc0f0cada93cbd6d0704">yh_string_to_algo</a></div><div class="ttdeci">yh_rc yh_string_to_algo(const char *string, yh_algorithm *algo)</div><div class="ttdoc">Convert a string to an algorithm&amp;#39;s numeric value. </div></div>
<div class="ttc" id="yubihsm_8h_html_a498937b5a72accbb0ef21bb1dcdd55caa14b36e4ff3b90d44ace0aa2b2c65ef48"><div class="ttname"><a href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caa14b36e4ff3b90d44ace0aa2b2c65ef48">YH_ALGO_EC_ECDH</a></div><div class="ttdoc">ecdh </div><div class="ttdef"><b>Definition:</b> yubihsm.h:438</div></div>
<div class="ttc" id="structyh__log__entry_html_ad1932210758f5649c94e0a7758040b48"><div class="ttname"><a href="structyh__log__entry.html#ad1932210758f5649c94e0a7758040b48">yh_log_entry::command</a></div><div class="ttdeci">uint8_t command</div><div class="ttdoc">What command was executed. </div><div class="ttdef"><b>Definition:</b> yubihsm.h:520</div></div>
<div class="ttc" id="yubihsm_8h_html_aa5415bafa9c48dfef0e183d8df504b7ea5347898552fcefaf090e08d3f0fa16d1"><div class="ttname"><a href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7ea5347898552fcefaf090e08d3f0fa16d1">YHC_GET_PSEUDO_RANDOM</a></div><div class="ttdoc">Get a fixed number of pseudo-random bytes from the device. </div><div class="ttdef"><b>Definition:</b> yubihsm.h:291</div></div>
<div class="ttc" id="yubihsm_8h_html_ae4f602d2343d01b1727dfd633169d366ae6b1a467cd82c64277c85b298ef1934b"><div class="ttname"><a href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366ae6b1a467cd82c64277c85b298ef1934b">YHR_DEVICE_SSH_CA_CONSTRAINT_VIOLATION</a></div><div class="ttdoc">Return value when encountering SSH CA constraint violation. </div><div class="ttdef"><b>Definition:</b> yubihsm.h:234</div></div>
<div class="ttc" id="yubihsm_8h_html_a289ca46f5ef481980f0fad98d727e87a"><div class="ttname"><a href="yubihsm_8h.html#a289ca46f5ef481980f0fad98d727e87a">YH_LOG_DIGEST_SIZE</a></div><div class="ttdeci">#define YH_LOG_DIGEST_SIZE</div><div class="ttdoc">Size that the log digest is truncated to. </div><div class="ttdef"><b>Definition:</b> yubihsm.h:127</div></div>
<div class="ttc" id="yubihsm_8h_html_a41f4326fe736e99302442d6a6109edbc"><div class="ttname"><a href="yubihsm_8h.html#a41f4326fe736e99302442d6a6109edbc">yh_util_generate_ed_key</a></div><div class="ttdeci">yh_rc yh_util_generate_ed_key(yh_session *session, uint16_t *key_id, const char *label, uint16_t domains, const yh_capabilities *capabilities, yh_algorithm algorithm)</div><div class="ttdoc">Generate an ED key in the device. </div></div>
<div class="ttc" id="yubihsm_8h_html_a7d223fd4ee6ae3f578307d72aba37a19"><div class="ttname"><a href="yubihsm_8h.html#a7d223fd4ee6ae3f578307d72aba37a19">yh_set_debug_output</a></div><div class="ttdeci">void yh_set_debug_output(yh_connector *connector, FILE *output)</div><div class="ttdoc">Set file for debug output. </div></div>
<div class="ttc" id="yubihsm_8h_html_a498937b5a72accbb0ef21bb1dcdd55caae1ab21f2df42a56bdc8ff046ed14797a"><div class="ttname"><a href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caae1ab21f2df42a56bdc8ff046ed14797a">YH_ALGO_MGF1_SHA1</a></div><div class="ttdoc">mgf1-sha1 </div><div class="ttdef"><b>Definition:</b> yubihsm.h:454</div></div>
<div class="ttc" id="structyh__log__entry_html_abd847b85c49faf8f3bb88876fe56cf2f"><div class="ttname"><a href="structyh__log__entry.html#abd847b85c49faf8f3bb88876fe56cf2f">yh_log_entry::length</a></div><div class="ttdeci">uint16_t length</div><div class="ttdoc">Length of in-data. </div><div class="ttdef"><b>Definition:</b> yubihsm.h:522</div></div>
<div class="ttc" id="yubihsm_8h_html_aa5415bafa9c48dfef0e183d8df504b7e"><div class="ttname"><a href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7e">yh_cmd</a></div><div class="ttdeci">yh_cmd</div><div class="ttdoc">Command definitions. </div><div class="ttdef"><b>Definition:</b> yubihsm.h:243</div></div>
<div class="ttc" id="yubihsm_8h_html_aa5415bafa9c48dfef0e183d8df504b7eacb4ef61bb1599fd1a114293a221605a1"><div class="ttname"><a href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7eacb4ef61bb1599fd1a114293a221605a1">YHC_AUTHENTICATE_SESSION</a></div><div class="ttdoc">Authenticate the session to the device. </div><div class="ttdef"><b>Definition:</b> yubihsm.h:249</div></div>
<div class="ttc" id="yubihsm_8h_html_aa5415bafa9c48dfef0e183d8df504b7ead391e68b3b37284e15c419f11bcf54be"><div class="ttname"><a href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7ead391e68b3b37284e15c419f11bcf54be">YHC_GET_OBJECT_INFO</a></div><div class="ttdoc">Get all metadata about an Object. </div><div class="ttdef"><b>Definition:</b> yubihsm.h:285</div></div>
<div class="ttc" id="yubihsm_8h_html_a498937b5a72accbb0ef21bb1dcdd55caa62e7ba4126ae16faeafb28972a4e0959"><div class="ttname"><a href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caa62e7ba4126ae16faeafb28972a4e0959">YH_ALGO_AES128_YUBICO_OTP</a></div><div class="ttdoc">aes128-yubico-otp </div><div class="ttdef"><b>Definition:</b> yubihsm.h:464</div></div>
<div class="ttc" id="yubihsm_8h_html_a61ab8dbab67b1cceb49cd306f8c3f4b1"><div class="ttname"><a href="yubihsm_8h.html#a61ab8dbab67b1cceb49cd306f8c3f4b1">yh_util_close_session</a></div><div class="ttdeci">yh_rc yh_util_close_session(yh_session *session)</div><div class="ttdoc">Close a session. </div></div>
<div class="ttc" id="yubihsm_8h_html_a5ebf6932cd2e68b9a23787c27fde3e26"><div class="ttname"><a href="yubihsm_8h.html#a5ebf6932cd2e68b9a23787c27fde3e26">yh_util_decrypt_pkcs1v1_5</a></div><div class="ttdeci">yh_rc yh_util_decrypt_pkcs1v1_5(yh_session *session, uint16_t key_id, const uint8_t *in, size_t in_len, uint8_t *out, size_t *out_len)</div><div class="ttdoc">Decrypt data that was encrypted using RSA-PKCS#1v1.5. </div></div>
<div class="ttc" id="yubihsm_8h_html_ae4f602d2343d01b1727dfd633169d366ad8971a0b9647564b76b3f4e4b662c965"><div class="ttname"><a href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366ad8971a0b9647564b76b3f4e4b662c965">YHR_BUFFER_TOO_SMALL</a></div><div class="ttdoc">Returned value when there is not enough space to store data. </div><div class="ttdef"><b>Definition:</b> yubihsm.h:187</div></div>
<div class="ttc" id="yubihsm_8h_html_ad3c904849d17cae0a6f426e8007731d7"><div class="ttname"><a href="yubihsm_8h.html#ad3c904849d17cae0a6f426e8007731d7">YH_CAPABILITIES_LEN</a></div><div class="ttdeci">#define YH_CAPABILITIES_LEN</div><div class="ttdoc">Length of capabilities array. </div><div class="ttdef"><b>Definition:</b> yubihsm.h:119</div></div>
<div class="ttc" id="yubihsm_8h_html_a2fe39512cb4df34b270a67dbb8e13583a708d85f80fc33743ac26a7c3e43464a9"><div class="ttname"><a href="yubihsm_8h.html#a2fe39512cb4df34b270a67dbb8e13583a708d85f80fc33743ac26a7c3e43464a9">YH_HMAC_KEY</a></div><div class="ttdoc">HMAC Key is a secret key used when computing and verifying HMAC signatures. </div><div class="ttdef"><b>Definition:</b> yubihsm.h:371</div></div>
<div class="ttc" id="yubihsm_8h_html_a498937b5a72accbb0ef21bb1dcdd55caa461952ba18e7fcd792e480f71c853513"><div class="ttname"><a href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caa461952ba18e7fcd792e480f71c853513">YH_ALGO_AES128_YUBICO_AUTHENTICATION</a></div><div class="ttdoc">aes128-yubico-authentication </div><div class="ttdef"><b>Definition:</b> yubihsm.h:466</div></div>
<div class="ttc" id="yubihsm_8h_html_a498937b5a72accbb0ef21bb1dcdd55caafc78c2f62fe0a185c38d2644755fde2c"><div class="ttname"><a href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caafc78c2f62fe0a185c38d2644755fde2c">YH_ALGO_RSA_PKCS1_SHA384</a></div><div class="ttdoc">rsa-pkcs1-sha384 </div><div class="ttdef"><b>Definition:</b> yubihsm.h:396</div></div>
<div class="ttc" id="yubihsm_8h_html_aa5415bafa9c48dfef0e183d8df504b7eaab512a03e51cea5105117f93370d17f0"><div class="ttname"><a href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7eaab512a03e51cea5105117f93370d17f0">YHC_REWRAP_OTP_AEAD</a></div><div class="ttdoc">Re-encrypt a Yubico OTP AEAD from one OTP AEAD Key to another OTP AEAD Key. </div><div class="ttdef"><b>Definition:</b> yubihsm.h:327</div></div>
<div class="ttc" id="yubihsm_8h_html_ae4f602d2343d01b1727dfd633169d366a75ea079345046cdbf5612bf9065d8711"><div class="ttname"><a href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366a75ea079345046cdbf5612bf9065d8711">YHR_MEMORY_ERROR</a></div><div class="ttdoc">Returned value when unable to allocate memory. </div><div class="ttdef"><b>Definition:</b> yubihsm.h:174</div></div>
<div class="ttc" id="yubihsm_8h_html_a498937b5a72accbb0ef21bb1dcdd55caae4b191baf5c65f9234120080264d129b"><div class="ttname"><a href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caae4b191baf5c65f9234120080264d129b">YH_ALGO_EC_P256</a></div><div class="ttdoc">ecp256 </div><div class="ttdef"><b>Definition:</b> yubihsm.h:414</div></div>
<div class="ttc" id="yubihsm_8h_html_addc22271306d847f53321984f41d818b"><div class="ttname"><a href="yubihsm_8h.html#addc22271306d847f53321984f41d818b">yh_util_import_otp_aead_key</a></div><div class="ttdeci">yh_rc yh_util_import_otp_aead_key(yh_session *session, uint16_t *key_id, const char *label, uint16_t domains, const yh_capabilities *capabilities, uint32_t nonce_id, const uint8_t *in, size_t in_len)</div><div class="ttdoc">Import an YH_OTP_AEAD_KEY used for Yubico OTP Decryption. </div></div>
<div class="ttc" id="yubihsm_8h_html_a498937b5a72accbb0ef21bb1dcdd55caab2580ffabb9b08affd0f7803fb1536cd"><div class="ttname"><a href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caab2580ffabb9b08affd0f7803fb1536cd">YH_ALGO_RSA_OAEP_SHA384</a></div><div class="ttdoc">rsa-oaep-sha384 </div><div class="ttdef"><b>Definition:</b> yubihsm.h:444</div></div>
<div class="ttc" id="yubihsm_8h_html_a296b43eadb1151017ba8e9578b351c5e"><div class="ttname"><a href="yubihsm_8h.html#a296b43eadb1151017ba8e9578b351c5e">yh_begin_create_session_ext</a></div><div class="ttdeci">yh_rc yh_begin_create_session_ext(yh_connector *connector, uint16_t authkey_id, uint8_t **context, uint8_t *card_cryptogram, size_t card_cryptogram_len, yh_session **session)</div><div class="ttdoc">Begin creating an external session. </div></div>
<div class="ttc" id="yubihsm_8h_html_a9000d43fe8cf7313b319f316521eb0c4"><div class="ttname"><a href="yubihsm_8h.html#a9000d43fe8cf7313b319f316521eb0c4">yh_util_sign_hmac</a></div><div class="ttdeci">yh_rc yh_util_sign_hmac(yh_session *session, uint16_t key_id, const uint8_t *in, size_t in_len, uint8_t *out, size_t *out_len)</div><div class="ttdoc">Sign data using HMAC. </div></div>
<div class="ttc" id="yubihsm_8h_html_aa5415bafa9c48dfef0e183d8df504b7eaabc6fa169e75105a6878311899a08176"><div class="ttname"><a href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7eaabc6fa169e75105a6878311899a08176">YHC_PUT_ASYMMETRIC_KEY</a></div><div class="ttdoc">Import an Asymmetric Key into the device. </div><div class="ttdef"><b>Definition:</b> yubihsm.h:267</div></div>
<div class="ttc" id="yubihsm_8h_html_a498937b5a72accbb0ef21bb1dcdd55caab0a0e1eb424b61057f159f1e53311f5c"><div class="ttname"><a href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caab0a0e1eb424b61057f159f1e53311f5c">YH_ALGO_HMAC_SHA256</a></div><div class="ttdoc">hmac-sha256 </div><div class="ttdef"><b>Definition:</b> yubihsm.h:430</div></div>
<div class="ttc" id="yubihsm_8h_html_acc8090ce0ec5029b376803e44b1cb4aa"><div class="ttname"><a href="yubihsm_8h.html#acc8090ce0ec5029b376803e44b1cb4aa">yh_option</a></div><div class="ttdeci">yh_option</div><div class="ttdoc">Global options. </div><div class="ttdef"><b>Definition:</b> yubihsm.h:490</div></div>
<div class="ttc" id="yubihsm_8h_html_a498937b5a72accbb0ef21bb1dcdd55caa942e65c8cd0034eebe9a20c2297c7b06"><div class="ttname"><a href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caa942e65c8cd0034eebe9a20c2297c7b06">YH_ALGO_HMAC_SHA1</a></div><div class="ttdoc">hmac-sha1 </div><div class="ttdef"><b>Definition:</b> yubihsm.h:428</div></div>
<div class="ttc" id="yubihsm_8h_html_ae4f602d2343d01b1727dfd633169d366ae4f6537a9d33914ea06c53b015d92ca8"><div class="ttname"><a href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366ae4f6537a9d33914ea06c53b015d92ca8">YHR_CONNECTION_ERROR</a></div><div class="ttdoc">Returned value when a connection error was encountered. </div><div class="ttdef"><b>Definition:</b> yubihsm.h:178</div></div>
<div class="ttc" id="yubihsm_8h_html_a550567a0f56d8536b9b5f34e905da7ec"><div class="ttname"><a href="yubihsm_8h.html#a550567a0f56d8536b9b5f34e905da7ec">yh_util_unwrap_data</a></div><div class="ttdeci">yh_rc yh_util_unwrap_data(yh_session *session, uint16_t key_id, const uint8_t *in, size_t in_len, uint8_t *out, size_t *out_len)</div><div class="ttdoc">Decrypt (unwrap) data using a YH_WRAP_KEY. </div></div>
<div class="ttc" id="yubihsm_8h_html_a498937b5a72accbb0ef21bb1dcdd55caad75fd14ef18fed62ae13cd3657fce3b2"><div class="ttname"><a href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caad75fd14ef18fed62ae13cd3657fce3b2">YH_ALGO_TEMPLATE_SSH</a></div><div class="ttdoc">template-ssh </div><div class="ttdef"><b>Definition:</b> yubihsm.h:462</div></div>
<div class="ttc" id="yubihsm_8h_html_aa5415bafa9c48dfef0e183d8df504b7ea5a0649ee2fba224fec086884f368faa0"><div class="ttname"><a href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7ea5a0649ee2fba224fec086884f368faa0">YHC_CHANGE_AUTHENTICATION_KEY</a></div><div class="ttdoc">Replace the Authentication Key used to establish the current Session. </div><div class="ttdef"><b>Definition:</b> yubihsm.h:345</div></div>
<div class="ttc" id="yubihsm_8h_html_a1a35f8ae5a739848408633a514e41b2d"><div class="ttname"><a href="yubihsm_8h.html#a1a35f8ae5a739848408633a514e41b2d">yh_destroy_session</a></div><div class="ttdeci">yh_rc yh_destroy_session(yh_session **session)</div><div class="ttdoc">Free data associated with the session. </div></div>
<div class="ttc" id="yubihsm_8h_html_a498937b5a72accbb0ef21bb1dcdd55caafd3fbd9ed86caf267ccc77cb24d44426"><div class="ttname"><a href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caafd3fbd9ed86caf267ccc77cb24d44426">YH_ALGO_RSA_3072</a></div><div class="ttdoc">rsa3072 </div><div class="ttdef"><b>Definition:</b> yubihsm.h:410</div></div>
<div class="ttc" id="yubihsm_8h_html_a690a5585de21ce82495e139ec1dfdf9d"><div class="ttname"><a href="yubihsm_8h.html#a690a5585de21ce82495e139ec1dfdf9d">yh_util_sign_eddsa</a></div><div class="ttdeci">yh_rc yh_util_sign_eddsa(yh_session *session, uint16_t key_id, const uint8_t *in, size_t in_len, uint8_t *out, size_t *out_len)</div><div class="ttdoc">Sign data using EdDSA. </div></div>
<div class="ttc" id="yubihsm_8h_html_acc8090ce0ec5029b376803e44b1cb4aaa3431b9d5cadb9b297def332792e51f00"><div class="ttname"><a href="yubihsm_8h.html#acc8090ce0ec5029b376803e44b1cb4aaa3431b9d5cadb9b297def332792e51f00">YH_OPTION_FORCE_AUDIT</a></div><div class="ttdoc">Enable/Disable Forced Audit mode. </div><div class="ttdef"><b>Definition:</b> yubihsm.h:492</div></div>
<div class="ttc" id="yubihsm_8h_html_a944e6f31487857709f032598fd43fef5"><div class="ttname"><a href="yubihsm_8h.html#a944e6f31487857709f032598fd43fef5">yh_util_sign_pss</a></div><div class="ttdeci">yh_rc yh_util_sign_pss(yh_session *session, uint16_t key_id, const uint8_t *in, size_t in_len, uint8_t *out, size_t *out_len, size_t salt_len, yh_algorithm mgf1Algo)</div><div class="ttdoc">Sign data using RSA-PSS. </div></div>
<div class="ttc" id="yubihsm_8h_html_a2b9f4070a103724b241e0a2b6a56d1ba"><div class="ttname"><a href="yubihsm_8h.html#a2b9f4070a103724b241e0a2b6a56d1ba">yh_get_connector_version</a></div><div class="ttdeci">yh_rc yh_get_connector_version(yh_connector *connector, uint8_t *major, uint8_t *minor, uint8_t *patch)</div><div class="ttdoc">Get the connector version. </div></div>
<div class="ttc" id="yubihsm_8h_html_adc142d8f397eee024b3c145fa8abad85"><div class="ttname"><a href="yubihsm_8h.html#adc142d8f397eee024b3c145fa8abad85">yh_util_import_ec_key</a></div><div class="ttdeci">yh_rc yh_util_import_ec_key(yh_session *session, uint16_t *key_id, const char *label, uint16_t domains, const yh_capabilities *capabilities, yh_algorithm algorithm, const uint8_t *s)</div><div class="ttdoc">Import an Elliptic Curve key into the device. </div></div>
<div class="ttc" id="yubihsm_8h_html_aa5415bafa9c48dfef0e183d8df504b7eae6b3fe5caff1ded14a3cd9b708ce933b"><div class="ttname"><a href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7eae6b3fe5caff1ded14a3cd9b708ce933b">YHC_ECHO</a></div><div class="ttdoc">Echo data back from the device. </div><div class="ttdef"><b>Definition:</b> yubihsm.h:245</div></div>
<div class="ttc" id="yubihsm_8h_html_acc8090ce0ec5029b376803e44b1cb4aaaf7c1e8ebce866eddcb7bc7ca8fa556da"><div class="ttname"><a href="yubihsm_8h.html#acc8090ce0ec5029b376803e44b1cb4aaaf7c1e8ebce866eddcb7bc7ca8fa556da">YH_OPTION_COMMAND_AUDIT</a></div><div class="ttdoc">Enable/Disable logging of specific commands. </div><div class="ttdef"><b>Definition:</b> yubihsm.h:494</div></div>
<div class="ttc" id="yubihsm_8h_html_aa5415bafa9c48dfef0e183d8df504b7ea7e18aa1f59c84afedacd7a2c770de599"><div class="ttname"><a href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7ea7e18aa1f59c84afedacd7a2c770de599">YHC_SIGN_PKCS1</a></div><div class="ttdoc">Sign data using RSA-PKCS#1v1.5. </div><div class="ttdef"><b>Definition:</b> yubihsm.h:271</div></div>
<div class="ttc" id="yubihsm_8h_html_ac1534725e97dbf81b37652fe1bffb97a"><div class="ttname"><a href="yubihsm_8h.html#ac1534725e97dbf81b37652fe1bffb97a">yh_create_session</a></div><div class="ttdeci">yh_rc yh_create_session(yh_connector *connector, uint16_t authkey_id, const uint8_t *key_enc, size_t key_enc_len, const uint8_t *key_mac, size_t key_mac_len, bool recreate_session, yh_session **session)</div><div class="ttdoc">Create a session that uses the specified encryption key and MAC key to derive session-specific keys...</div></div>
<div class="ttc" id="yubihsm_8h_html_a47768ae0e72beba49f02db1baddf4823"><div class="ttname"><a href="yubihsm_8h.html#a47768ae0e72beba49f02db1baddf4823">yh_util_get_template</a></div><div class="ttdeci">yh_rc yh_util_get_template(yh_session *session, uint16_t object_id, uint8_t *out, size_t *out_len)</div><div class="ttdoc">Get a YH_TEMPLATE object from the device. </div></div>
<div class="ttc" id="yubihsm_8h_html_aa5415bafa9c48dfef0e183d8df504b7ea103f15650d237a6d729eb591344beb27"><div class="ttname"><a href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7ea103f15650d237a6d729eb591344beb27">YHC_DELETE_OBJECT</a></div><div class="ttdoc">Delete object in the device. </div><div class="ttdef"><b>Definition:</b> yubihsm.h:305</div></div>
<div class="ttc" id="yubihsm_8h_html_aa5415bafa9c48dfef0e183d8df504b7ea08ea37d765609e7663719a12f6f4fe8c"><div class="ttname"><a href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7ea08ea37d765609e7663719a12f6f4fe8c">YHC_PUT_OPAQUE</a></div><div class="ttdoc">Import an Opaque Object into the device. </div><div class="ttdef"><b>Definition:</b> yubihsm.h:261</div></div>
<div class="ttc" id="yubihsm_8h_html_a498937b5a72accbb0ef21bb1dcdd55caa657d2b30d884aeeff3c024404132ad69"><div class="ttname"><a href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caa657d2b30d884aeeff3c024404132ad69">YH_ALGO_EC_ECDSA_SHA384</a></div><div class="ttdoc">ecdsa-sha384 </div><div class="ttdef"><b>Definition:</b> yubihsm.h:478</div></div>
<div class="ttc" id="yubihsm_8h_html_a900031f15115ee22e885d2de7ec80a4a"><div class="ttname"><a href="yubihsm_8h.html#a900031f15115ee22e885d2de7ec80a4a">yh_filter_capabilities</a></div><div class="ttdeci">yh_rc yh_filter_capabilities(const yh_capabilities *capabilities, const yh_capabilities *filter, yh_capabilities *result)</div><div class="ttdoc">Filter one set of capabilities with another. </div></div>
<div class="ttc" id="structyh__object__descriptor_html_ab8c1b3cc5b859e3c89eb228fa0763165"><div class="ttname"><a href="structyh__object__descriptor.html#ab8c1b3cc5b859e3c89eb228fa0763165">yh_object_descriptor::type</a></div><div class="ttdeci">yh_object_type type</div><div class="ttdoc">Object type. </div><div class="ttdef"><b>Definition:</b> yubihsm.h:550</div></div>
<div class="ttc" id="yubihsm_8h_html_aa5415bafa9c48dfef0e183d8df504b7eafb7d9a86be4529c63a0eb8bca46c3c8f"><div class="ttname"><a href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7eafb7d9a86be4529c63a0eb8bca46c3c8f">YHC_PUT_AUTHENTICATION_KEY</a></div><div class="ttdoc">Import an Authentication Key into the device. </div><div class="ttdef"><b>Definition:</b> yubihsm.h:265</div></div>
<div class="ttc" id="yubihsm_8h_html_a7a886e052bc1571f24c6b7f0c57e2d8c"><div class="ttname"><a href="yubihsm_8h.html#a7a886e052bc1571f24c6b7f0c57e2d8c">yh_util_import_ed_key</a></div><div class="ttdeci">yh_rc yh_util_import_ed_key(yh_session *session, uint16_t *key_id, const char *label, uint16_t domains, const yh_capabilities *capabilities, yh_algorithm algorithm, const uint8_t *k)</div><div class="ttdoc">Import an ED key into the device. </div></div>
<div class="ttc" id="structyh__log__entry_html"><div class="ttname"><a href="structyh__log__entry.html">yh_log_entry</a></div><div class="ttdoc">Logging struct as returned by device. </div><div class="ttdef"><b>Definition:</b> yubihsm.h:516</div></div>
<div class="ttc" id="yubihsm_8h_html_aa5415bafa9c48dfef0e183d8df504b7eae350b6b86bec0e5760420288560e91c7"><div class="ttname"><a href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7eae350b6b86bec0e5760420288560e91c7">YHC_GET_OPTION</a></div><div class="ttdoc">Get a device-global option. </div><div class="ttdef"><b>Definition:</b> yubihsm.h:289</div></div>
<div class="ttc" id="yubihsm_8h_html_ae0fc8d6520950868365011d1a9f450f1"><div class="ttname"><a href="yubihsm_8h.html#ae0fc8d6520950868365011d1a9f450f1">yh_util_import_template</a></div><div class="ttdeci">yh_rc yh_util_import_template(yh_session *session, uint16_t *object_id, const char *label, uint16_t domains, const yh_capabilities *capabilities, yh_algorithm algorithm, const uint8_t *in, size_t in_len)</div><div class="ttdoc">Import a YH_TEMPLATE object into the device. </div></div>
<div class="ttc" id="yubihsm_8h_html_aa5415bafa9c48dfef0e183d8df504b7ea7a24521b80c5a1221039476dacdcaf27"><div class="ttname"><a href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7ea7a24521b80c5a1221039476dacdcaf27">YHC_CREATE_SESSION</a></div><div class="ttdoc">Create a session with the device. </div><div class="ttdef"><b>Definition:</b> yubihsm.h:247</div></div>
<div class="ttc" id="structyh__log__entry_html_a31bb67d7241b0cdd25d36cee65d4b6da"><div class="ttname"><a href="structyh__log__entry.html#a31bb67d7241b0cdd25d36cee65d4b6da">yh_log_entry::result</a></div><div class="ttdeci">uint8_t result</div><div class="ttdoc">Command result. </div><div class="ttdef"><b>Definition:</b> yubihsm.h:530</div></div>
<div class="ttc" id="yubihsm_8h_html_a498937b5a72accbb0ef21bb1dcdd55caa927e2246e5657f946b4da4b71092b022"><div class="ttname"><a href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caa927e2246e5657f946b4da4b71092b022">YH_ALGO_AES256_CCM_WRAP</a></div><div class="ttdoc">aes256-ccm-wrap </div><div class="ttdef"><b>Definition:</b> yubihsm.h:474</div></div>
<div class="ttc" id="yubihsm_8h_html_aa5415bafa9c48dfef0e183d8df504b7eaa746f3db48f68374bf0e1a3dbc743e25"><div class="ttname"><a href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7eaa746f3db48f68374bf0e1a3dbc743e25">YHC_SIGN_HMAC</a></div><div class="ttdoc">Perform an HMAC operation in the device. </div><div class="ttdef"><b>Definition:</b> yubihsm.h:295</div></div>
<div class="ttc" id="yubihsm_8h_html_a498937b5a72accbb0ef21bb1dcdd55caa44153987efd3466070143dbab77f2d70"><div class="ttname"><a href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caa44153987efd3466070143dbab77f2d70">YH_ALGO_EC_ECDSA_SHA512</a></div><div class="ttdoc">ecdsa-sha512 </div><div class="ttdef"><b>Definition:</b> yubihsm.h:480</div></div>
<div class="ttc" id="structyh__object__descriptor_html_ab4e9be8940ce12a69b6b2389137aa768"><div class="ttname"><a href="structyh__object__descriptor.html#ab4e9be8940ce12a69b6b2389137aa768">yh_object_descriptor::origin</a></div><div class="ttdeci">uint8_t origin</div><div class="ttdoc">Object origin. </div><div class="ttdef"><b>Definition:</b> yubihsm.h:556</div></div>
<div class="ttc" id="yubihsm_8h_html_a8f229874e387887d7c5b4c7e6e07db8e"><div class="ttname"><a href="yubihsm_8h.html#a8f229874e387887d7c5b4c7e6e07db8e">yh_util_change_authentication_key</a></div><div class="ttdeci">yh_rc yh_util_change_authentication_key(yh_session *session, uint16_t *key_id, const uint8_t *key_enc, size_t key_enc_len, const uint8_t *key_mac, size_t key_mac_len)</div><div class="ttdoc">Replace the long lived encryption key and MAC key associated with an YH_AUTHENTICATION_KEY in the dev...</div></div>
<div class="ttc" id="yubihsm_8h_html_ae4f602d2343d01b1727dfd633169d366a1f84ab50c839e0cd6d5b1104a78da569"><div class="ttname"><a href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366a1f84ab50c839e0cd6d5b1104a78da569">YHR_INIT_ERROR</a></div><div class="ttdoc">Returned value when failing to initialize libyubihsm. </div><div class="ttdef"><b>Definition:</b> yubihsm.h:176</div></div>
<div class="ttc" id="yubihsm_8h_html_a2fe39512cb4df34b270a67dbb8e13583a5d37b7418d50b420621e6a6eb2700de4"><div class="ttname"><a href="yubihsm_8h.html#a2fe39512cb4df34b270a67dbb8e13583a5d37b7418d50b420621e6a6eb2700de4">YH_OPAQUE</a></div><div class="ttdoc">Opaque Object is an unchecked kind of Object, normally used to store raw data in the device...</div><div class="ttdef"><b>Definition:</b> yubihsm.h:362</div></div>
<div class="ttc" id="yubihsm_8h_html_aba384949362ccaf19cbeae3bb046489c"><div class="ttname"><a href="yubihsm_8h.html#aba384949362ccaf19cbeae3bb046489c">yh_check_capability</a></div><div class="ttdeci">bool yh_check_capability(const yh_capabilities *capabilities, const char *capability)</div><div class="ttdoc">Check if a capability is set. </div></div>
<div class="ttc" id="yubihsm_8h_html_aa5415bafa9c48dfef0e183d8df504b7ea58884e12c4e65351037902e59d98d497"><div class="ttname"><a href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7ea58884e12c4e65351037902e59d98d497">YHC_GENERATE_OTP_AEAD_KEY</a></div><div class="ttdoc">Generate an OTP AEAD Key in the device. </div><div class="ttdef"><b>Definition:</b> yubihsm.h:333</div></div>
<div class="ttc" id="yubihsm_8h_html_aa5415bafa9c48dfef0e183d8df504b7ea8943e0ac51e6518f85a77f1b3509d2af"><div class="ttname"><a href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7ea8943e0ac51e6518f85a77f1b3509d2af">YHC_SIGN_ATTESTATION_CERTIFICATE</a></div><div class="ttdoc">Get attestation of an Asymmetric Key. </div><div class="ttdef"><b>Definition:</b> yubihsm.h:329</div></div>
<div class="ttc" id="yubihsm_8h_html_aa3f473e6dbb9188ad0269b40921c4f5f"><div class="ttname"><a href="yubihsm_8h.html#aa3f473e6dbb9188ad0269b40921c4f5f">yh_util_export_wrapped</a></div><div class="ttdeci">yh_rc yh_util_export_wrapped(yh_session *session, uint16_t wrapping_key_id, yh_object_type target_type, uint16_t target_id, uint8_t *out, size_t *out_len)</div><div class="ttdoc">Export an object under wrap from the device. </div></div>
<div class="ttc" id="yubihsm_8h_html_aa3420d8ccc1fb0b0dee1af5a53cc79de"><div class="ttname"><a href="yubihsm_8h.html#aa3420d8ccc1fb0b0dee1af5a53cc79de">yh_session</a></div><div class="ttdeci">struct yh_session yh_session</div><div class="ttdoc">Reference to a session. </div><div class="ttdef"><b>Definition:</b> yubihsm.h:159</div></div>
<div class="ttc" id="yubihsm_8h_html_a498937b5a72accbb0ef21bb1dcdd55caae9b7b5598c3839a53e4986dc901be244"><div class="ttname"><a href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caae9b7b5598c3839a53e4986dc901be244">YH_ALGO_EC_ECDSA_SHA1</a></div><div class="ttdoc">ecdsa-sha1 </div><div class="ttdef"><b>Definition:</b> yubihsm.h:436</div></div>
<div class="ttc" id="yubihsm_8h_html_a498937b5a72accbb0ef21bb1dcdd55caa05aec903fd67851f968aaa606fe2138a"><div class="ttname"><a href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caa05aec903fd67851f968aaa606fe2138a">YH_ALGO_EC_P521</a></div><div class="ttdoc">ecp521 </div><div class="ttdef"><b>Definition:</b> yubihsm.h:418</div></div>
<div class="ttc" id="yubihsm_8h_html_ae4f602d2343d01b1727dfd633169d366a9fdf081102d4876da3b7bc9986cdbef8"><div class="ttname"><a href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366a9fdf081102d4876da3b7bc9986cdbef8">YHR_DEVICE_AUTHENTICATION_FAILED</a></div><div class="ttdoc">Return value when the device fails to encrypt or verify the message. </div><div class="ttdef"><b>Definition:</b> yubihsm.h:203</div></div>
<div class="ttc" id="yubihsm_8h_html_afbcb5c761339fbcf444be8f338b4614f"><div class="ttname"><a href="yubihsm_8h.html#afbcb5c761339fbcf444be8f338b4614f">yh_finish_create_session_ext</a></div><div class="ttdeci">yh_rc yh_finish_create_session_ext(yh_connector *connector, yh_session *session, const uint8_t *key_senc, size_t key_senc_len, const uint8_t *key_smac, size_t key_smac_len, const uint8_t *key_srmac, size_t key_srmac_len, uint8_t *card_cryptogram, size_t card_cryptogram_len)</div><div class="ttdoc">Finish creating external session. </div></div>
<div class="ttc" id="yubihsm_8h_html_a498937b5a72accbb0ef21bb1dcdd55caaafe94e6a770edb51c6db84f77d98d2c6"><div class="ttname"><a href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caaafe94e6a770edb51c6db84f77d98d2c6">YH_ALGO_RSA_2048</a></div><div class="ttdoc">rsa2048 </div><div class="ttdef"><b>Definition:</b> yubihsm.h:408</div></div>
<div class="ttc" id="yubihsm_8h_html_a375000f12ac554eb8cbaa0e6b75c3a08"><div class="ttname"><a href="yubihsm_8h.html#a375000f12ac554eb8cbaa0e6b75c3a08">yh_get_key_bitlength</a></div><div class="ttdeci">yh_rc yh_get_key_bitlength(yh_algorithm algorithm, size_t *result)</div><div class="ttdoc">Get the expected key length of a key generated by the given algorithm. </div></div>
<div class="ttc" id="yubihsm_8h_html_ad112fe09ee88d595333fa87e8059717b"><div class="ttname"><a href="yubihsm_8h.html#ad112fe09ee88d595333fa87e8059717b">yh_util_blink_device</a></div><div class="ttdeci">yh_rc yh_util_blink_device(yh_session *session, uint8_t seconds)</div><div class="ttdoc">Blink the LED of the device to identify it. </div></div>
<div class="ttc" id="yubihsm_8h_html_a66a09b99268fe27ce71f7f3e69878ec6"><div class="ttname"><a href="yubihsm_8h.html#a66a09b99268fe27ce71f7f3e69878ec6">ADD_COMMAND</a></div><div class="ttdeci">#define ADD_COMMAND(c, v)</div><div class="ttdoc">Macro to define command and response command. </div><div class="ttdef"><b>Definition:</b> yubihsm.h:238</div></div>
<div class="ttc" id="yubihsm_8h_html_a3677afe2209a1cae31f70a304e260e28"><div class="ttname"><a href="yubihsm_8h.html#a3677afe2209a1cae31f70a304e260e28">yh_util_decrypt_otp</a></div><div class="ttdeci">yh_rc yh_util_decrypt_otp(yh_session *session, uint16_t key_id, const uint8_t *aead, size_t aead_len, const uint8_t *otp, uint16_t *useCtr, uint8_t *sessionCtr, uint8_t *tstph, uint16_t *tstpl)</div><div class="ttdoc">Decrypt a Yubico OTP and return counters and time information. </div></div>
<div class="ttc" id="yubihsm_8h_html_aa5415bafa9c48dfef0e183d8df504b7ea3ed85c21f1f5cd1eb658a37686153c32"><div class="ttname"><a href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7ea3ed85c21f1f5cd1eb658a37686153c32">YHC_SIGN_ECDSA</a></div><div class="ttdoc">Sign data using ECDSA. </div><div class="ttdef"><b>Definition:</b> yubihsm.h:301</div></div>
<div class="ttc" id="structyh__object__descriptor_html_a84e5c94f9a0a39eb7ed39444c48ab4b5"><div class="ttname"><a href="structyh__object__descriptor.html#a84e5c94f9a0a39eb7ed39444c48ab4b5">yh_object_descriptor::sequence</a></div><div class="ttdeci">uint8_t sequence</div><div class="ttdoc">Object sequence. </div><div class="ttdef"><b>Definition:</b> yubihsm.h:554</div></div>
<div class="ttc" id="yubihsm_8h_html_a80b4c4caeb9c768737c2dbf46d9352e4"><div class="ttname"><a href="yubihsm_8h.html#a80b4c4caeb9c768737c2dbf46d9352e4">yh_util_import_authentication_key_derived</a></div><div class="ttdeci">yh_rc yh_util_import_authentication_key_derived(yh_session *session, uint16_t *key_id, const char *label, uint16_t domains, const yh_capabilities *capabilities, const yh_capabilities *delegated_capabilities, const uint8_t *password, size_t password_len)</div><div class="ttdoc">Import an YH_AUTHENTICATION_KEY with long lived keys derived from a password. </div></div>
<div class="ttc" id="yubihsm_8h_html_a498937b5a72accbb0ef21bb1dcdd55caa781e7ca62563917d2129bde8ec53401b"><div class="ttname"><a href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caa781e7ca62563917d2129bde8ec53401b">YH_ALGO_HMAC_SHA384</a></div><div class="ttdoc">hmac-sha384 </div><div class="ttdef"><b>Definition:</b> yubihsm.h:432</div></div>
<div class="ttc" id="yubihsm_8h_html_a498937b5a72accbb0ef21bb1dcdd55caa24d40fa957c584cf2ef0f5b0053b9f32"><div class="ttname"><a href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caa24d40fa957c584cf2ef0f5b0053b9f32">YH_ALGO_RSA_PSS_SHA1</a></div><div class="ttdoc">rsa-pss-sha1 </div><div class="ttdef"><b>Definition:</b> yubihsm.h:400</div></div>
<div class="ttc" id="yubihsm_8h_html_a0100df295f7ecf0d0cc90052aac20586"><div class="ttname"><a href="yubihsm_8h.html#a0100df295f7ecf0d0cc90052aac20586">yh_domains_to_string</a></div><div class="ttdeci">yh_rc yh_domains_to_string(uint16_t domains, char *string, size_t max_len)</div><div class="ttdoc">Convert domains parameter to its String representation. </div></div>
<div class="ttc" id="yubihsm_8h_html_aa5415bafa9c48dfef0e183d8df504b7ea84c5fd3021700d84b73f734aa1f8f626"><div class="ttname"><a href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7ea84c5fd3021700d84b73f734aa1f8f626">YHC_GET_OPAQUE</a></div><div class="ttdoc">Get an Opaque Object from device. </div><div class="ttdef"><b>Definition:</b> yubihsm.h:263</div></div>
<div class="ttc" id="structyh__object__descriptor_html_a98e1c698e0d1344c4fe4a215d2d633ec"><div class="ttname"><a href="structyh__object__descriptor.html#a98e1c698e0d1344c4fe4a215d2d633ec">yh_object_descriptor::delegated_capabilities</a></div><div class="ttdeci">yh_capabilities delegated_capabilities</div><div class="ttdoc">Object delegated capabilities. </div><div class="ttdef"><b>Definition:</b> yubihsm.h:560</div></div>
<div class="ttc" id="yubihsm_8h_html_ae4f602d2343d01b1727dfd633169d366a9884874ed5a0938ac9ddeec502585fc1"><div class="ttname"><a href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366a9884874ed5a0938ac9ddeec502585fc1">YHR_DEVICE_SESSION_FAILED</a></div><div class="ttdoc">Return value when failing to create a device session. </div><div class="ttdef"><b>Definition:</b> yubihsm.h:207</div></div>
<div class="ttc" id="yubihsm_8h_html_ab12d5a42d2219741bd3630b99ed1c7d2"><div class="ttname"><a href="yubihsm_8h.html#ab12d5a42d2219741bd3630b99ed1c7d2">yh_disconnect</a></div><div class="ttdeci">yh_rc yh_disconnect(yh_connector *connector)</div><div class="ttdoc">Disconnect from a connector. </div></div>
<div class="ttc" id="yubihsm_8h_html_aa5415bafa9c48dfef0e183d8df504b7eabd60dd90a002636168151e1ccf738bea"><div class="ttname"><a href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7eabd60dd90a002636168151e1ccf738bea">YHC_LIST_OBJECTS</a></div><div class="ttdoc">List objects in the device. </div><div class="ttdef"><b>Definition:</b> yubihsm.h:273</div></div>
<div class="ttc" id="yubihsm_8h_html_aa5415bafa9c48dfef0e183d8df504b7ea67689e095f98a1675a327645f277febe"><div class="ttname"><a href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7ea67689e095f98a1675a327645f277febe">YHC_GET_TEMPLATE</a></div><div class="ttdoc">Get a template from the device. </div><div class="ttdef"><b>Definition:</b> yubihsm.h:319</div></div>
<div class="ttc" id="yubihsm_8h_html_a498937b5a72accbb0ef21bb1dcdd55caad1558532867577d1d77c84f1ae632acd"><div class="ttname"><a href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caad1558532867577d1d77c84f1ae632acd">YH_ALGO_AES256_YUBICO_OTP</a></div><div class="ttdoc">aes256-yubico-otp </div><div class="ttdef"><b>Definition:</b> yubihsm.h:470</div></div>
<div class="ttc" id="yubihsm_8h_html_a498937b5a72accbb0ef21bb1dcdd55caa1982e3db182a679514674f454e2b79ad"><div class="ttname"><a href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caa1982e3db182a679514674f454e2b79ad">YH_ALGO_RSA_PKCS1_SHA1</a></div><div class="ttdoc">rsa-pkcs1-sha1 </div><div class="ttdef"><b>Definition:</b> yubihsm.h:392</div></div>
<div class="ttc" id="yubihsm_8h_html_aa5415bafa9c48dfef0e183d8df504b7eafe1b7412c2ee2c70d95de3e5b187ce9b"><div class="ttname"><a href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7eafe1b7412c2ee2c70d95de3e5b187ce9b">YHC_SIGN_PSS</a></div><div class="ttdoc">Sign data using RSA-PSS. </div><div class="ttdef"><b>Definition:</b> yubihsm.h:299</div></div>
<div class="ttc" id="yubihsm_8h_html_aa5415bafa9c48dfef0e183d8df504b7ea8777e821f221c0be394e0fb1f13a411d"><div class="ttname"><a href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7ea8777e821f221c0be394e0fb1f13a411d">YHC_RANDOMIZE_OTP_AEAD</a></div><div class="ttdoc">Generate an OTP AEAD from random data. </div><div class="ttdef"><b>Definition:</b> yubihsm.h:325</div></div>
<div class="ttc" id="yubihsm_8h_html_a498937b5a72accbb0ef21bb1dcdd55caa72d6c7ea77f10e39bbadc8b58d55b9ec"><div class="ttname"><a href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caa72d6c7ea77f10e39bbadc8b58d55b9ec">YH_ALGO_HMAC_SHA512</a></div><div class="ttdoc">hmac-sha512 </div><div class="ttdef"><b>Definition:</b> yubihsm.h:434</div></div>
<div class="ttc" id="yubihsm_8h_html_aa5415bafa9c48dfef0e183d8df504b7ead7ee3c3b805a89c9c2708f15b9ec165a"><div class="ttname"><a href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7ead7ee3c3b805a89c9c2708f15b9ec165a">YHC_SET_LOG_INDEX</a></div><div class="ttdoc">Set the last extracted audit log entry. </div><div class="ttdef"><b>Definition:</b> yubihsm.h:335</div></div>
<div class="ttc" id="yubihsm_8h_html_a11871e03c808e2d25737f893e58ed094"><div class="ttname"><a href="yubihsm_8h.html#a11871e03c808e2d25737f893e58ed094">yh_util_get_option</a></div><div class="ttdeci">yh_rc yh_util_get_option(yh_session *session, yh_option option, uint8_t *out, size_t *out_len)</div><div class="ttdoc">Get a device-global option. </div></div>
<div class="ttc" id="yubihsm_8h_html_ae4f602d2343d01b1727dfd633169d366aad5480151e2d8e8caadb6c85d0567265"><div class="ttname"><a href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366aad5480151e2d8e8caadb6c85d0567265">YHR_DEVICE_INVALID_OTP</a></div><div class="ttdoc">Return value when an invalid OTP is submitted. </div><div class="ttdef"><b>Definition:</b> yubihsm.h:222</div></div>
<div class="ttc" id="yubihsm_8h_html_ae4f602d2343d01b1727dfd633169d366a2d814fba9f3dbdcb892f92adee1d945c"><div class="ttname"><a href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366a2d814fba9f3dbdcb892f92adee1d945c">YHR_DEVICE_INSUFFICIENT_PERMISSIONS</a></div><div class="ttdoc">Return value when the permissions to perform the operation are wrong. </div><div class="ttdef"><b>Definition:</b> yubihsm.h:214</div></div>
<div class="ttc" id="yubihsm_8h_html_a8761bd8bcffcee4af737bda255ce5e53"><div class="ttname"><a href="yubihsm_8h.html#a8761bd8bcffcee4af737bda255ce5e53">yh_util_change_authentication_key_derived</a></div><div class="ttdeci">yh_rc yh_util_change_authentication_key_derived(yh_session *session, uint16_t *key_id, const uint8_t *password, size_t password_len)</div><div class="ttdoc">Replace the long lived encryption key and MAC key associated with an YH_AUTHENTICATION_KEY in the dev...</div></div>
<div class="ttc" id="yubihsm_8h_html_ae4f602d2343d01b1727dfd633169d366ae22388bb4f7dd6a83e36b5789008cd39"><div class="ttname"><a href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366ae22388bb4f7dd6a83e36b5789008cd39">YHR_DEVICE_WRONG_LENGTH</a></div><div class="ttdoc">Return value when there is a mismatch between expected and received length of an argument to a functi...</div><div class="ttdef"><b>Definition:</b> yubihsm.h:212</div></div>
<div class="ttc" id="yubihsm_8h_html_aa939f8764ed0cca27884d9c8f640ac14"><div class="ttname"><a href="yubihsm_8h.html#aa939f8764ed0cca27884d9c8f640ac14">yh_util_decrypt_oaep</a></div><div class="ttdeci">yh_rc yh_util_decrypt_oaep(yh_session *session, uint16_t key_id, const uint8_t *in, size_t in_len, uint8_t *out, size_t *out_len, const uint8_t *label, size_t label_len, yh_algorithm mgf1Algo)</div><div class="ttdoc">Decrypt data using RSA-OAEP. </div></div>
<div class="ttc" id="yubihsm_8h_html_aa5415bafa9c48dfef0e183d8df504b7ea3adc1455f48e24dadace769e09ae99ef"><div class="ttname"><a href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7ea3adc1455f48e24dadace769e09ae99ef">YHC_GENERATE_ASYMMETRIC_KEY</a></div><div class="ttdoc">Generate an Asymmetric Key in the device. </div><div class="ttdef"><b>Definition:</b> yubihsm.h:269</div></div>
<div class="ttc" id="yubihsm_8h_html_ae4f602d2343d01b1727dfd633169d366a731b3992b45fde61b6760d92de4dbbf5"><div class="ttname"><a href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366a731b3992b45fde61b6760d92de4dbbf5">YHR_INVALID_PARAMETERS</a></div><div class="ttdoc">Returned value when an argument to a function is invalid. </div><div class="ttdef"><b>Definition:</b> yubihsm.h:182</div></div>
<div class="ttc" id="yubihsm_8h_html_aa5415bafa9c48dfef0e183d8df504b7ea196ea5e674cb57be9c44bca2fab0f648"><div class="ttname"><a href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7ea196ea5e674cb57be9c44bca2fab0f648">YHC_PUT_WRAP_KEY</a></div><div class="ttdoc">Import a Wrap Key into the device. </div><div class="ttdef"><b>Definition:</b> yubihsm.h:281</div></div>
<div class="ttc" id="yubihsm_8h_html_ae4f602d2343d01b1727dfd633169d366afa1bb1b6e469608a295dcc21a7b23608"><div class="ttname"><a href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366afa1bb1b6e469608a295dcc21a7b23608">YHR_CRYPTOGRAM_MISMATCH</a></div><div class="ttdoc">Returned value when failing to verify cryptogram. </div><div class="ttdef"><b>Definition:</b> yubihsm.h:189</div></div>
<div class="ttc" id="yubihsm_8h_html_a45c32b993856be818a70c0ffad589cbd"><div class="ttname"><a href="yubihsm_8h.html#a45c32b993856be818a70c0ffad589cbd">yh_util_sign_ssh_certificate</a></div><div class="ttdeci">yh_rc yh_util_sign_ssh_certificate(yh_session *session, uint16_t key_id, uint16_t template_id, yh_algorithm sig_algo, const uint8_t *in, size_t in_len, uint8_t *out, size_t *out_len)</div><div class="ttdoc">Sign an SSH Certificate request. </div></div>
<div class="ttc" id="yubihsm_8h_html_ab1c62ef2643184a8ad44c569c87712d1"><div class="ttname"><a href="yubihsm_8h.html#ab1c62ef2643184a8ad44c569c87712d1">yh_util_generate_rsa_key</a></div><div class="ttdeci">yh_rc yh_util_generate_rsa_key(yh_session *session, uint16_t *key_id, const char *label, uint16_t domains, const yh_capabilities *capabilities, yh_algorithm algorithm)</div><div class="ttdoc">Generate an RSA key in the device. </div></div>
<div class="ttc" id="yubihsm_8h_html_a0a67155f2a7970ecb52e4f6aac6bbe84"><div class="ttname"><a href="yubihsm_8h.html#a0a67155f2a7970ecb52e4f6aac6bbe84">yh_is_rsa</a></div><div class="ttdeci">bool yh_is_rsa(yh_algorithm algorithm)</div><div class="ttdoc">Check if an algorithm is a supported RSA algorithm. </div></div>
<div class="ttc" id="yubihsm_8h_html_a24c3146e51242256af505961e763f417"><div class="ttname"><a href="yubihsm_8h.html#a24c3146e51242256af505961e763f417">yh_set_verbosity</a></div><div class="ttdeci">yh_rc yh_set_verbosity(yh_connector *connector, uint8_t verbosity)</div><div class="ttdoc">Set verbosity level when executing commands. </div></div>
<div class="ttc" id="yubihsm_8h_html_a5464c7a6ad858c1e4e42e588b406c2d3"><div class="ttname"><a href="yubihsm_8h.html#a5464c7a6ad858c1e4e42e588b406c2d3">yh_string_to_option</a></div><div class="ttdeci">yh_rc yh_string_to_option(const char *string, yh_option *option)</div><div class="ttdoc">Convert a string to an option&amp;#39;s numeric value. </div></div>
<div class="ttc" id="yubihsm_8h_html_aeabf472faf1ba8d963b39866e04df6b0"><div class="ttname"><a href="yubihsm_8h.html#aeabf472faf1ba8d963b39866e04df6b0">yh_get_session_id</a></div><div class="ttdeci">yh_rc yh_get_session_id(yh_session *session, uint8_t *sid)</div><div class="ttdoc">Get the session ID. </div></div>
<div class="ttc" id="yubihsm_8h_html_a498937b5a72accbb0ef21bb1dcdd55caa104308e8fac7553b1d875f149ff133b1"><div class="ttname"><a href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caa104308e8fac7553b1d875f149ff133b1">YH_ALGO_MGF1_SHA512</a></div><div class="ttdoc">mgf1-sha512 </div><div class="ttdef"><b>Definition:</b> yubihsm.h:460</div></div>
<div class="ttc" id="yubihsm_8h_html_a57cdfa4b6224bd2c4a8bab24513475d8"><div class="ttname"><a href="yubihsm_8h.html#a57cdfa4b6224bd2c4a8bab24513475d8">yh_string_to_type</a></div><div class="ttdeci">yh_rc yh_string_to_type(const char *string, yh_object_type *type)</div><div class="ttdoc">Convert a string to a type&amp;#39;s numeric value. </div></div>
<div class="ttc" id="yubihsm_8h_html_afcca1608845e7a783d41d8ffd6aac8ed"><div class="ttname"><a href="yubihsm_8h.html#afcca1608845e7a783d41d8ffd6aac8ed">yh_merge_capabilities</a></div><div class="ttdeci">yh_rc yh_merge_capabilities(const yh_capabilities *a, const yh_capabilities *b, yh_capabilities *result)</div><div class="ttdoc">Merge two sets of capabilities. </div></div>
<div class="ttc" id="yubihsm_8h_html_ae4f602d2343d01b1727dfd633169d366a405155512dc2284dc210ed15be1d0815"><div class="ttname"><a href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366a405155512dc2284dc210ed15be1d0815">YHR_SUCCESS</a></div><div class="ttdoc">Returned value when function was successful. </div><div class="ttdef"><b>Definition:</b> yubihsm.h:172</div></div>
<div class="ttc" id="yubihsm_8h_html_a77870209747d5ccd90f9da3aae2bdfa8"><div class="ttname"><a href="yubihsm_8h.html#a77870209747d5ccd90f9da3aae2bdfa8">yh_authenticate_session</a></div><div class="ttdeci">yh_rc yh_authenticate_session(yh_session *session)</div><div class="ttdoc">Authenticate session. </div></div>
<div class="ttc" id="yubihsm_8h_html_a2fe39512cb4df34b270a67dbb8e13583a96244762de5ce4175e60157239e7a097"><div class="ttname"><a href="yubihsm_8h.html#a2fe39512cb4df34b270a67dbb8e13583a96244762de5ce4175e60157239e7a097">YH_TEMPLATE</a></div><div class="ttdoc">Template is a binary object used for example to validate SSH certificate requests. </div><div class="ttdef"><b>Definition:</b> yubihsm.h:374</div></div>
<div class="ttc" id="structyh__object__descriptor_html_a485734f824121a0901c151d814ab7226"><div class="ttname"><a href="structyh__object__descriptor.html#a485734f824121a0901c151d814ab7226">yh_object_descriptor::algorithm</a></div><div class="ttdeci">yh_algorithm algorithm</div><div class="ttdoc">Object algorithm. </div><div class="ttdef"><b>Definition:</b> yubihsm.h:552</div></div>
<div class="ttc" id="yubihsm_8h_html_acb19de78e7d1aed72abbed5c74c676bc"><div class="ttname"><a href="yubihsm_8h.html#acb19de78e7d1aed72abbed5c74c676bc">yh_is_hmac</a></div><div class="ttdeci">bool yh_is_hmac(yh_algorithm algorithm)</div><div class="ttdoc">Check if algorithm is a supported HMAC algorithm. </div></div>
<div class="ttc" id="yubihsm_8h_html_a498937b5a72accbb0ef21bb1dcdd55caa68c2c97f16c36f727e41a899d8a7e8bd"><div class="ttname"><a href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caa68c2c97f16c36f727e41a899d8a7e8bd">YH_ALGO_EC_ED25519</a></div><div class="ttdoc">ed25519 </div><div class="ttdef"><b>Definition:</b> yubihsm.h:482</div></div>
<div class="ttc" id="yubihsm_8h_html_aa5415bafa9c48dfef0e183d8df504b7ea97eacb1db651a5a7b2db7911a2f5631c"><div class="ttname"><a href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7ea97eacb1db651a5a7b2db7911a2f5631c">YHC_SET_OPTION</a></div><div class="ttdoc">Set a device-global options that affect general behavior. </div><div class="ttdef"><b>Definition:</b> yubihsm.h:287</div></div>
<div class="ttc" id="yubihsm_8h_html_a7c2e101be04ad1546d99d5600e732eca"><div class="ttname"><a href="yubihsm_8h.html#a7c2e101be04ad1546d99d5600e732eca">yh_util_wrap_data</a></div><div class="ttdeci">yh_rc yh_util_wrap_data(yh_session *session, uint16_t key_id, const uint8_t *in, size_t in_len, uint8_t *out, size_t *out_len)</div><div class="ttdoc">Encrypt (wrap) data using a YH_WRAP_KEY. </div></div>
<div class="ttc" id="yubihsm_8h_html_a85ac840aec77cb1ca3c3ce1f2ab26282"><div class="ttname"><a href="yubihsm_8h.html#a85ac840aec77cb1ca3c3ce1f2ab26282">yh_util_set_option</a></div><div class="ttdeci">yh_rc yh_util_set_option(yh_session *session, yh_option option, size_t len, uint8_t *val)</div><div class="ttdoc">Set a device-global option. </div></div>
<div class="ttc" id="yubihsm_8h_html_a498937b5a72accbb0ef21bb1dcdd55caabd995726d45b6dd2388775db4767c80d"><div class="ttname"><a href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caabd995726d45b6dd2388775db4767c80d">YH_ALGO_EC_BP256</a></div><div class="ttdoc">ecbp256 </div><div class="ttdef"><b>Definition:</b> yubihsm.h:422</div></div>
<div class="ttc" id="structyh__log__entry_html_a925f85bbcea7077e632e1699d32dfbe2"><div class="ttname"><a href="structyh__log__entry.html#a925f85bbcea7077e632e1699d32dfbe2">yh_log_entry::session_key</a></div><div class="ttdeci">uint16_t session_key</div><div class="ttdoc">ID of Authentication Key used. </div><div class="ttdef"><b>Definition:</b> yubihsm.h:524</div></div>
<div class="ttc" id="yubihsm_8h_html_aa5415bafa9c48dfef0e183d8df504b7ea672606a4eaa485a944fc9b397dfb49fe"><div class="ttname"><a href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7ea672606a4eaa485a944fc9b397dfb49fe">YHC_DECRYPT_OAEP</a></div><div class="ttdoc">Decrypt data using RSA-OAEP. </div><div class="ttdef"><b>Definition:</b> yubihsm.h:307</div></div>
<div class="ttc" id="yubihsm_8h_html_ae4f602d2343d01b1727dfd633169d366a840bcd92d9959f2075c01437cc49371e"><div class="ttname"><a href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366a840bcd92d9959f2075c01437cc49371e">YHR_DEVICE_INVALID_COMMAND</a></div><div class="ttdoc">Returned value when the device receives and invalid command. </div><div class="ttdef"><b>Definition:</b> yubihsm.h:197</div></div>
<div class="ttc" id="yubihsm_8h_html_a498937b5a72accbb0ef21bb1dcdd55caa1d5a50a1a53000cd2b2989c17703e2d1"><div class="ttname"><a href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caa1d5a50a1a53000cd2b2989c17703e2d1">YH_ALGO_RSA_PSS_SHA512</a></div><div class="ttdoc">rsa-pss-sha512 </div><div class="ttdef"><b>Definition:</b> yubihsm.h:406</div></div>
<div class="ttc" id="yubihsm_8h_html_ae736702f9463878db4adfd45b6a597f9"><div class="ttname"><a href="yubihsm_8h.html#ae736702f9463878db4adfd45b6a597f9">yh_util_delete_object</a></div><div class="ttdeci">yh_rc yh_util_delete_object(yh_session *session, uint16_t id, yh_object_type type)</div><div class="ttdoc">Delete an object in the device. </div></div>
<div class="ttc" id="yubihsm_8h_html_a4e5534e6c597a7d32040ea1cc7254c93"><div class="ttname"><a href="yubihsm_8h.html#a4e5534e6c597a7d32040ea1cc7254c93">yh_create_session_derived</a></div><div class="ttdeci">yh_rc yh_create_session_derived(yh_connector *connector, uint16_t authkey_id, const uint8_t *password, size_t password_len, bool recreate_session, yh_session **session)</div><div class="ttdoc">Create a session that uses an encryption key and a MAC key derived from a password. </div></div>
<div class="ttc" id="yubihsm_8h_html_a96a4c751a281515d5610adb8fd779438"><div class="ttname"><a href="yubihsm_8h.html#a96a4c751a281515d5610adb8fd779438">yh_string_to_domains</a></div><div class="ttdeci">yh_rc yh_string_to_domains(const char *domains, uint16_t *result)</div><div class="ttdoc">Convert a string to a domain&amp;#39;s numeric value. </div></div>
<div class="ttc" id="structyh__object__descriptor_html_a31a501a1378bc07a3320febdb21fc898"><div class="ttname"><a href="structyh__object__descriptor.html#a31a501a1378bc07a3320febdb21fc898">yh_object_descriptor::domains</a></div><div class="ttdeci">uint16_t domains</div><div class="ttdoc">Object domains. </div><div class="ttdef"><b>Definition:</b> yubihsm.h:548</div></div>
<div class="ttc" id="yubihsm_8h_html_a16fbf4426acbf42695c4ec4738b6ae8a"><div class="ttname"><a href="yubihsm_8h.html#a16fbf4426acbf42695c4ec4738b6ae8a">yh_is_ed</a></div><div class="ttdeci">bool yh_is_ed(yh_algorithm algorithm)</div><div class="ttdoc">Check if an algorithm is a supported ED algorithm. </div></div>
<div class="ttc" id="yubihsm_8h_html_a498937b5a72accbb0ef21bb1dcdd55caa84e18ba6561d5a834dc8d794504708db"><div class="ttname"><a href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caa84e18ba6561d5a834dc8d794504708db">YH_ALGO_RSA_PKCS1_SHA512</a></div><div class="ttdoc">rsa-pkcs1-sha512 </div><div class="ttdef"><b>Definition:</b> yubihsm.h:398</div></div>
<div class="ttc" id="yubihsm_8h_html_a498937b5a72accbb0ef21bb1dcdd55caa590b0ef9be4ed65e87e26c985bb7f350"><div class="ttname"><a href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caa590b0ef9be4ed65e87e26c985bb7f350">YH_ALGO_OPAQUE_X509_CERTIFICATE</a></div><div class="ttdoc">opaque-x509-certificate </div><div class="ttdef"><b>Definition:</b> yubihsm.h:452</div></div>
<div class="ttc" id="yubihsm_8h_html_a1f749a696792e7911844629e056d9c15"><div class="ttname"><a href="yubihsm_8h.html#a1f749a696792e7911844629e056d9c15">yh_util_generate_wrap_key</a></div><div class="ttdeci">yh_rc yh_util_generate_wrap_key(yh_session *session, uint16_t *key_id, const char *label, uint16_t domains, const yh_capabilities *capabilities, yh_algorithm algorithm, const yh_capabilities *delegated_capabilities)</div><div class="ttdoc">Generate a Wrap Key that can be used for export, import, wrap data and unwrap data in the device...</div></div>
<div class="ttc" id="yubihsm_8h_html_a498937b5a72accbb0ef21bb1dcdd55caa31094c17c66e4c365ca3dad353bc8bda"><div class="ttname"><a href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caa31094c17c66e4c365ca3dad353bc8bda">YH_ALGO_EC_P384</a></div><div class="ttdoc">ecp384 </div><div class="ttdef"><b>Definition:</b> yubihsm.h:416</div></div>
<div class="ttc" id="yubihsm_8h_html_a9c700747902a722d6c1d2073277de294"><div class="ttname"><a href="yubihsm_8h.html#a9c700747902a722d6c1d2073277de294">yh_init_connector</a></div><div class="ttdeci">yh_rc yh_init_connector(const char *url, yh_connector **connector)</div><div class="ttdoc">Instantiate a new connector. </div></div>
<div class="ttc" id="yubihsm_8h_html_a498937b5a72accbb0ef21bb1dcdd55caa18e17370fcf9a829572e57608aff743c"><div class="ttname"><a href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caa18e17370fcf9a829572e57608aff743c">YH_ALGO_RSA_PKCS1_SHA256</a></div><div class="ttdoc">rsa-pkcs1-sha256 </div><div class="ttdef"><b>Definition:</b> yubihsm.h:394</div></div>
<div class="ttc" id="yubihsm_8h_html_a5988faffd97366b188728ff1a7fb6e89"><div class="ttname"><a href="yubihsm_8h.html#a5988faffd97366b188728ff1a7fb6e89">yh_util_sign_attestation_certificate</a></div><div class="ttdeci">yh_rc yh_util_sign_attestation_certificate(yh_session *session, uint16_t key_id, uint16_t attest_id, uint8_t *out, size_t *out_len)</div><div class="ttdoc">Get attestation of an Asymmetric Key in the form of an X.509 certificate. </div></div>
<div class="ttc" id="yubihsm_8h_html_aa5415bafa9c48dfef0e183d8df504b7ea6924a3fe7f15d482eb15155229385e24"><div class="ttname"><a href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7ea6924a3fe7f15d482eb15155229385e24">YHC_DERIVE_ECDH</a></div><div class="ttdoc">Perform an ECDH key exchange operation with a private key in the device. </div><div class="ttdef"><b>Definition:</b> yubihsm.h:303</div></div>
<div class="ttc" id="yubihsm_8h_html_ae87d5578703775b9d4151a14435f4a73"><div class="ttname"><a href="yubihsm_8h.html#ae87d5578703775b9d4151a14435f4a73">yh_util_get_storage_info</a></div><div class="ttdeci">yh_rc yh_util_get_storage_info(yh_session *session, uint16_t *total_records, uint16_t *free_records, uint16_t *total_pages, uint16_t *free_pages, uint16_t *page_size)</div><div class="ttdoc">Report currently free storage. </div></div>
<div class="ttc" id="yubihsm_8h_html_a498937b5a72accbb0ef21bb1dcdd55caa228fd3332b55c60438dfea6a1b09af36"><div class="ttname"><a href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caa228fd3332b55c60438dfea6a1b09af36">YH_ALGO_EC_BP384</a></div><div class="ttdoc">ecbp384 </div><div class="ttdef"><b>Definition:</b> yubihsm.h:424</div></div>
<div class="ttc" id="yubihsm_8h_html_ae5bf13f9558bb0340468b722accf94d3"><div class="ttname"><a href="yubihsm_8h.html#ae5bf13f9558bb0340468b722accf94d3">yh_util_import_wrapped</a></div><div class="ttdeci">yh_rc yh_util_import_wrapped(yh_session *session, uint16_t wrapping_key_id, const uint8_t *in, size_t in_len, yh_object_type *target_type, uint16_t *target_id)</div><div class="ttdoc">Import a wrapped object into the device. </div></div>
<div class="ttc" id="yubihsm_8h_html_a498937b5a72accbb0ef21bb1dcdd55caa590665f5e23f996daeba0a2586b2ff33"><div class="ttname"><a href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caa590665f5e23f996daeba0a2586b2ff33">YH_ALGO_RSA_OAEP_SHA256</a></div><div class="ttdoc">rsa-oaep-sha256 </div><div class="ttdef"><b>Definition:</b> yubihsm.h:442</div></div>
<div class="ttc" id="yubihsm_8h_html_aa5415bafa9c48dfef0e183d8df504b7ea2b9aae2f08a49e1305f64c7a5649ed3c"><div class="ttname"><a href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7ea2b9aae2f08a49e1305f64c7a5649ed3c">YHC_GET_STORAGE_INFO</a></div><div class="ttdoc">Get storage information. </div><div class="ttdef"><b>Definition:</b> yubihsm.h:259</div></div>
<div class="ttc" id="yubihsm_8h_html_a4c26f003b72e800e9c934bca922a404a"><div class="ttname"><a href="yubihsm_8h.html#a4c26f003b72e800e9c934bca922a404a">yh_send_secure_msg</a></div><div class="ttdeci">yh_rc yh_send_secure_msg(yh_session *session, yh_cmd cmd, const uint8_t *data, size_t data_len, yh_cmd *response_cmd, uint8_t *response, size_t *response_len)</div><div class="ttdoc">Send an encrypted message to the device over a session. </div></div>
<div class="ttc" id="yubihsm_8h_html_af1bc8ed34687d83701eb3cc673ad4b96"><div class="ttname"><a href="yubihsm_8h.html#af1bc8ed34687d83701eb3cc673ad4b96">yh_util_get_pseudo_random</a></div><div class="ttdeci">yh_rc yh_util_get_pseudo_random(yh_session *session, size_t len, uint8_t *out, size_t *out_len)</div><div class="ttdoc">Get a fixed number of pseudo-random bytes from the device. </div></div>
<div class="ttc" id="yubihsm_8h_html_a2fe39512cb4df34b270a67dbb8e13583"><div class="ttname"><a href="yubihsm_8h.html#a2fe39512cb4df34b270a67dbb8e13583">yh_object_type</a></div><div class="ttdeci">yh_object_type</div><div class="ttdoc">Object types. </div><div class="ttdef"><b>Definition:</b> yubihsm.h:359</div></div>
<div class="ttc" id="structyh__capabilities_html"><div class="ttname"><a href="structyh__capabilities.html">yh_capabilities</a></div><div class="ttdoc">Capabilities representation. </div><div class="ttdef"><b>Definition:</b> yubihsm.h:162</div></div>
<div class="ttc" id="yubihsm_8h_html_a799e299be8d4c13dfa2112a60d05480d"><div class="ttname"><a href="yubihsm_8h.html#a799e299be8d4c13dfa2112a60d05480d">yh_send_plain_msg</a></div><div class="ttdeci">yh_rc yh_send_plain_msg(yh_connector *connector, yh_cmd cmd, const uint8_t *data, size_t data_len, yh_cmd *response_cmd, uint8_t *response, size_t *response_len)</div><div class="ttdoc">Send a plain (unencrypted) message to the device through a connector. </div></div>
<div class="ttc" id="yubihsm_8h_html_a498937b5a72accbb0ef21bb1dcdd55caa144083d6414cb33e8543d51e7d361d05"><div class="ttname"><a href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caa144083d6414cb33e8543d51e7d361d05">YH_ALGO_RSA_PSS_SHA384</a></div><div class="ttdoc">rsa-pss-sha384 </div><div class="ttdef"><b>Definition:</b> yubihsm.h:404</div></div>
<div class="ttc" id="yubihsm_8h_html_aa5415bafa9c48dfef0e183d8df504b7ea254f1db08db6611467ac60080b8e1efb"><div class="ttname"><a href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7ea254f1db08db6611467ac60080b8e1efb">YHC_PUT_TEMPLATE</a></div><div class="ttdoc">Import a template into the device. </div><div class="ttdef"><b>Definition:</b> yubihsm.h:317</div></div>
<div class="ttc" id="yubihsm_8h_html_a6ab558e1426359cc78e7a362f8b3acd9"><div class="ttname"><a href="yubihsm_8h.html#a6ab558e1426359cc78e7a362f8b3acd9">yh_util_get_device_info</a></div><div class="ttdeci">yh_rc yh_util_get_device_info(yh_connector *connector, uint8_t *major, uint8_t *minor, uint8_t *patch, uint32_t *serial, uint8_t *log_total, uint8_t *log_used, yh_algorithm *algorithms, size_t *n_algorithms)</div><div class="ttdoc">Get device version, device serial number, supported algorithms and available log entries. </div></div>
<div class="ttc" id="yubihsm_8h_html_aa5415bafa9c48dfef0e183d8df504b7eab85f00cab685ade5857fa555fb926a7a"><div class="ttname"><a href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7eab85f00cab685ade5857fa555fb926a7a">YHC_BLINK_DEVICE</a></div><div class="ttdoc">Blink the LED of the device. </div><div class="ttdef"><b>Definition:</b> yubihsm.h:343</div></div>
<div class="ttc" id="yubihsm_8h_html_aa5415bafa9c48dfef0e183d8df504b7eaa7faa69e574e88fd7811924cf68333e1"><div class="ttname"><a href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7eaa7faa69e574e88fd7811924cf68333e1">YHC_EXPORT_WRAPPED</a></div><div class="ttdoc">Get an Object under wrap from the device. </div><div class="ttdef"><b>Definition:</b> yubihsm.h:277</div></div>
<div class="ttc" id="yubihsm_8h_html_a3032a8f45bfad36ed6157b0158dd7921"><div class="ttname"><a href="yubihsm_8h.html#a3032a8f45bfad36ed6157b0158dd7921">yh_is_ec</a></div><div class="ttdeci">bool yh_is_ec(yh_algorithm algorithm)</div><div class="ttdoc">Check if an algorithm is a supported Elliptic Curve algorithm. </div></div>
<div class="ttc" id="yubihsm_8h_html_aa5415bafa9c48dfef0e183d8df504b7ea59f3cbf98c6bb349d9daceeebf1dfb6c"><div class="ttname"><a href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7ea59f3cbf98c6bb349d9daceeebf1dfb6c">YHC_DECRYPT_PKCS1</a></div><div class="ttdoc">Decrypt data that was encrypted using RSA-PKCS#1v1.5. </div><div class="ttdef"><b>Definition:</b> yubihsm.h:275</div></div>
<div class="ttc" id="yubihsm_8h_html_a498937b5a72accbb0ef21bb1dcdd55caab9c1be17b7b3f755346ff8c3cca3ed25"><div class="ttname"><a href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caab9c1be17b7b3f755346ff8c3cca3ed25">YH_ALGO_EC_BP512</a></div><div class="ttdoc">ecbp512 </div><div class="ttdef"><b>Definition:</b> yubihsm.h:426</div></div>
<div class="ttc" id="yubihsm_8h_html_a2fe39512cb4df34b270a67dbb8e13583a02c5f683fde147de6a9e1043f971f5f0"><div class="ttname"><a href="yubihsm_8h.html#a2fe39512cb4df34b270a67dbb8e13583a02c5f683fde147de6a9e1043f971f5f0">YH_OTP_AEAD_KEY</a></div><div class="ttdoc">OTP AEAD Key is a secret key used to decrypt Yubico OTP values. </div><div class="ttdef"><b>Definition:</b> yubihsm.h:376</div></div>
<div class="ttc" id="yubihsm_8h_html_a2fe39512cb4df34b270a67dbb8e13583acee44b775b3c5b6157f0732699935074"><div class="ttname"><a href="yubihsm_8h.html#a2fe39512cb4df34b270a67dbb8e13583acee44b775b3c5b6157f0732699935074">YH_AUTHENTICATION_KEY</a></div><div class="ttdoc">Authentication Key is used to establish Sessions with a device. </div><div class="ttdef"><b>Definition:</b> yubihsm.h:364</div></div>
<div class="ttc" id="yubihsm_8h_html_a3a9729ea5b2e299a735b43f2b23e50a7"><div class="ttname"><a href="yubihsm_8h.html#a3a9729ea5b2e299a735b43f2b23e50a7">yh_util_import_wrap_key</a></div><div class="ttdeci">yh_rc yh_util_import_wrap_key(yh_session *session, uint16_t *key_id, const char *label, uint16_t domains, const yh_capabilities *capabilities, yh_algorithm algorithm, const yh_capabilities *delegated_capabilities, const uint8_t *in, size_t in_len)</div><div class="ttdoc">Import a Wrap Key into the device. </div></div>
<div class="ttc" id="yubihsm_8h_html_ae4f602d2343d01b1727dfd633169d366ae0b26dcb22aa228ab08c9e59a8975952"><div class="ttname"><a href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366ae0b26dcb22aa228ab08c9e59a8975952">YHR_WRONG_LENGTH</a></div><div class="ttdoc">Returned value when there is a mismatch between expected and received length of an argument to a func...</div><div class="ttdef"><b>Definition:</b> yubihsm.h:185</div></div>
<div class="ttc" id="yubihsm_8h_html_a19c79faaf10c405864f0179821d551a5"><div class="ttname"><a href="yubihsm_8h.html#a19c79faaf10c405864f0179821d551a5">yh_util_import_hmac_key</a></div><div class="ttdeci">yh_rc yh_util_import_hmac_key(yh_session *session, uint16_t *key_id, const char *label, uint16_t domains, const yh_capabilities *capabilities, yh_algorithm algorithm, const uint8_t *key, size_t key_len)</div><div class="ttdoc">Import an HMAC key into the device. </div></div>
<div class="ttc" id="yubihsm_8h_html_a498937b5a72accbb0ef21bb1dcdd55caac42381f876f5e7190547cf81021451f5"><div class="ttname"><a href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caac42381f876f5e7190547cf81021451f5">YH_ALGO_RSA_PSS_SHA256</a></div><div class="ttdoc">rsa-pss-sha256 </div><div class="ttdef"><b>Definition:</b> yubihsm.h:402</div></div>
<div class="ttc" id="yubihsm_8h_html_aa5415bafa9c48dfef0e183d8df504b7ea9182160a3938ffc93f1a07fbfa77f5e9"><div class="ttname"><a href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7ea9182160a3938ffc93f1a07fbfa77f5e9">YHC_CREATE_OTP_AEAD</a></div><div class="ttdoc">Create a Yubico OTP AEAD. </div><div class="ttdef"><b>Definition:</b> yubihsm.h:323</div></div>
<div class="ttc" id="yubihsm_8h_html_a498937b5a72accbb0ef21bb1dcdd55caaedcbc07d82b18ca5c21eb3379a6cc010"><div class="ttname"><a href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caaedcbc07d82b18ca5c21eb3379a6cc010">YH_ALGO_EC_P224</a></div><div class="ttdoc">ecp224 </div><div class="ttdef"><b>Definition:</b> yubihsm.h:484</div></div>
<div class="ttc" id="yubihsm_8h_html_a2fe39512cb4df34b270a67dbb8e13583af12da448809687dd5d8ca182ecd8dfeb"><div class="ttname"><a href="yubihsm_8h.html#a2fe39512cb4df34b270a67dbb8e13583af12da448809687dd5d8ca182ecd8dfeb">YH_PUBLIC_KEY</a></div><div class="ttdoc">Public Key is the public key of an asymmetric key-pair. </div><div class="ttdef"><b>Definition:</b> yubihsm.h:379</div></div>
<div class="ttc" id="yubihsm_8h_html_aa0a7644b7b368d6aaf8b4aff5e3d19b8"><div class="ttname"><a href="yubihsm_8h.html#aa0a7644b7b368d6aaf8b4aff5e3d19b8">yh_util_sign_pkcs1v1_5</a></div><div class="ttdeci">yh_rc yh_util_sign_pkcs1v1_5(yh_session *session, uint16_t key_id, bool hashed, const uint8_t *in, size_t in_len, uint8_t *out, size_t *out_len)</div><div class="ttdoc">Sign data using RSA-PKCS#1v1.5. </div></div>
<div class="ttc" id="yubihsm_8h_html_a1249c920eec24f634d04eaafb90a1ca2"><div class="ttname"><a href="yubihsm_8h.html#a1249c920eec24f634d04eaafb90a1ca2">yh_util_import_opaque</a></div><div class="ttdeci">yh_rc yh_util_import_opaque(yh_session *session, uint16_t *object_id, const char *label, uint16_t domains, const yh_capabilities *capabilities, yh_algorithm algorithm, const uint8_t *in, size_t in_len)</div><div class="ttdoc">Import an YH_OPAQUE object into the device. </div></div>
<div class="ttc" id="yubihsm_8h_html_a163506939cedbc1e849bdcfb8b5fe1de"><div class="ttname"><a href="yubihsm_8h.html#a163506939cedbc1e849bdcfb8b5fe1de">yh_connector_has_device</a></div><div class="ttdeci">bool yh_connector_has_device(yh_connector *connector)</div><div class="ttdoc">Check if the connector has a device connected. </div></div>
<div class="ttc" id="yubihsm_8h_html_ae4f602d2343d01b1727dfd633169d366a36bb9a78d1e8eda6adcf8fb3eff2bf9d"><div class="ttname"><a href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366a36bb9a78d1e8eda6adcf8fb3eff2bf9d">YHR_DEVICE_INVALID_SESSION</a></div><div class="ttdoc">Returned value when the device session is invalid. </div><div class="ttdef"><b>Definition:</b> yubihsm.h:201</div></div>
<div class="ttc" id="yubihsm_8h_html_a5c153fe27877bcc7927d391fb55550af"><div class="ttname"><a href="yubihsm_8h.html#a5c153fe27877bcc7927d391fb55550af">yh_util_reset_device</a></div><div class="ttdeci">yh_rc yh_util_reset_device(yh_session *session)</div><div class="ttdoc">Factory reset the device. </div></div>
<div class="ttc" id="yubihsm_8h_html_aa5415bafa9c48dfef0e183d8df504b7ea4973a64a582232f5428e590d8a74a4ca"><div class="ttname"><a href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7ea4973a64a582232f5428e590d8a74a4ca">YHC_PUT_HMAC_KEY</a></div><div class="ttdoc">Import a HMAC key into the device. </div><div class="ttdef"><b>Definition:</b> yubihsm.h:293</div></div>
<div class="ttc" id="yubihsm_8h_html_a5ae52ad56b7e83baeb33b46104263aa6"><div class="ttname"><a href="yubihsm_8h.html#a5ae52ad56b7e83baeb33b46104263aa6">yh_util_get_log_entries</a></div><div class="ttdeci">yh_rc yh_util_get_log_entries(yh_session *session, uint16_t *unlogged_boot, uint16_t *unlogged_auth, yh_log_entry *out, size_t *n_items)</div><div class="ttdoc">Get audit logs from the device. </div></div>
<div class="ttc" id="yubihsm_8h_html_aa5415bafa9c48dfef0e183d8df504b7ea40c027d3259d249e93bc5af7cffa2ba8"><div class="ttname"><a href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7ea40c027d3259d249e93bc5af7cffa2ba8">YHC_SIGN_SSH_CERTIFICATE</a></div><div class="ttdoc">Sign SSH certificate request. </div><div class="ttdef"><b>Definition:</b> yubihsm.h:315</div></div>
<div class="ttc" id="yubihsm_8h_html_afe3d701f7470c1d7b05480e4b6728bf7"><div class="ttname"><a href="yubihsm_8h.html#afe3d701f7470c1d7b05480e4b6728bf7">yh_type_to_string</a></div><div class="ttdeci">yh_rc yh_type_to_string(yh_object_type type, char const **result)</div><div class="ttdoc">Convert a yh_object_type to its string representation. </div></div>
<div class="ttc" id="yubihsm_8h_html_ae4f602d2343d01b1727dfd633169d366"><div class="ttname"><a href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366">yh_rc</a></div><div class="ttdeci">yh_rc</div><div class="ttdoc">Return codes. </div><div class="ttdef"><b>Definition:</b> yubihsm.h:170</div></div>
<div class="ttc" id="yubihsm_8h_html_a17d49ccb12b100e98d8b99585a705444"><div class="ttname"><a href="yubihsm_8h.html#a17d49ccb12b100e98d8b99585a705444">yh_get_verbosity</a></div><div class="ttdeci">yh_rc yh_get_verbosity(uint8_t *verbosity)</div><div class="ttdoc">Get verbosity level when executing commands. </div></div>
<div class="ttc" id="yubihsm_8h_html_aa5415bafa9c48dfef0e183d8df504b7ea852e001ac88c54fddceb9ed4c5a8d386"><div class="ttname"><a href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7ea852e001ac88c54fddceb9ed4c5a8d386">YHC_WRAP_DATA</a></div><div class="ttdoc">Encrypt (wrap) data using a Wrap Key. </div><div class="ttdef"><b>Definition:</b> yubihsm.h:337</div></div>
<div class="ttc" id="yubihsm_8h_html_ae4f602d2343d01b1727dfd633169d366aea70a2fed59f51d794e77a52a0c27db0"><div class="ttname"><a href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366aea70a2fed59f51d794e77a52a0c27db0">YHR_DEVICE_OK</a></div><div class="ttdoc">Returned value when the device returned no error. </div><div class="ttdef"><b>Definition:</b> yubihsm.h:195</div></div>
<div class="ttc" id="yubihsm_8h_html_a114f98fee4b67eadd9b89b675632c710"><div class="ttname"><a href="yubihsm_8h.html#a114f98fee4b67eadd9b89b675632c710">yh_connector</a></div><div class="ttdeci">struct yh_connector yh_connector</div><div class="ttdoc">Reference to a connector. </div><div class="ttdef"><b>Definition:</b> yubihsm.h:156</div></div>
<div class="ttc" id="yubihsm_8h_html_ae4f602d2343d01b1727dfd633169d366a45c1eb30625a88593aadff037d48454b"><div class="ttname"><a href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366a45c1eb30625a88593aadff037d48454b">YHR_DEVICE_COMMAND_UNEXECUTED</a></div><div class="ttdoc">Return value when the command execution has not terminated. </div><div class="ttdef"><b>Definition:</b> yubihsm.h:226</div></div>
<div class="ttc" id="yubihsm_8h_html_acb5d5e9a2718b9427269f7d267ca25b9"><div class="ttname"><a href="yubihsm_8h.html#acb5d5e9a2718b9427269f7d267ca25b9">yh_get_connector_address</a></div><div class="ttdeci">yh_rc yh_get_connector_address(yh_connector *connector, char **const address)</div><div class="ttdoc">Get connector address. </div></div>
<div class="ttc" id="yubihsm_8h_html_aa5415bafa9c48dfef0e183d8df504b7eadb02455455d591b5134c7d064b96940a"><div class="ttname"><a href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7eadb02455455d591b5134c7d064b96940a">YHC_GET_PUBLIC_KEY</a></div><div class="ttdoc">Get the public key of an Asymmetric Key in the device. </div><div class="ttdef"><b>Definition:</b> yubihsm.h:297</div></div>
<div class="ttc" id="yubihsm_8h_html_a2db9bbd57a908c5c454fc6254f57dcff"><div class="ttname"><a href="yubihsm_8h.html#a2db9bbd57a908c5c454fc6254f57dcff">yh_util_generate_ec_key</a></div><div class="ttdeci">yh_rc yh_util_generate_ec_key(yh_session *session, uint16_t *key_id, const char *label, uint16_t domains, const yh_capabilities *capabilities, yh_algorithm algorithm)</div><div class="ttdoc">Generate an Elliptic Curve key in the device. </div></div>
<div class="ttc" id="yubihsm_8h_html_a56e060e71fb8baa0531b3a20848abf37"><div class="ttname"><a href="yubihsm_8h.html#a56e060e71fb8baa0531b3a20848abf37">yh_util_get_opaque</a></div><div class="ttdeci">yh_rc yh_util_get_opaque(yh_session *session, uint16_t object_id, uint8_t *out, size_t *out_len)</div><div class="ttdoc">Get an YH_OPAQUE object (like an X.509 certificate) from the device. </div></div>
<div class="ttc" id="structyh__object__descriptor_html_a6257fd0aa3606d6e73dff1c1c23563b1"><div class="ttname"><a href="structyh__object__descriptor.html#a6257fd0aa3606d6e73dff1c1c23563b1">yh_object_descriptor::len</a></div><div class="ttdeci">uint16_t len</div><div class="ttdoc">Object length. </div><div class="ttdef"><b>Definition:</b> yubihsm.h:546</div></div>
<div class="ttc" id="yubihsm_8h_html_ae4f602d2343d01b1727dfd633169d366af8d55718c98750591e891a37409c9266"><div class="ttname"><a href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366af8d55718c98750591e891a37409c9266">YHR_SESSION_AUTHENTICATION_FAILED</a></div><div class="ttdoc">Returned value when failing to authenticate the session. </div><div class="ttdef"><b>Definition:</b> yubihsm.h:191</div></div>
<div class="ttc" id="yubihsm_8h_html_a498937b5a72accbb0ef21bb1dcdd55ca"><div class="ttname"><a href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55ca">yh_algorithm</a></div><div class="ttdeci">yh_algorithm</div><div class="ttdoc">Algorithms. </div><div class="ttdef"><b>Definition:</b> yubihsm.h:390</div></div>
<div class="ttc" id="structyh__log__entry_html_a248294c48b017749865e97c22fee57ce"><div class="ttname"><a href="structyh__log__entry.html#a248294c48b017749865e97c22fee57ce">yh_log_entry::second_key</a></div><div class="ttdeci">uint16_t second_key</div><div class="ttdoc">ID of second Object used. </div><div class="ttdef"><b>Definition:</b> yubihsm.h:528</div></div>
<div class="ttc" id="structyh__log__entry_html_a32bf3bd463165110201f585222616ee4"><div class="ttname"><a href="structyh__log__entry.html#a32bf3bd463165110201f585222616ee4">yh_log_entry::systick</a></div><div class="ttdeci">uint32_t systick</div><div class="ttdoc">Systick at time of execution. </div><div class="ttdef"><b>Definition:</b> yubihsm.h:532</div></div>
<div class="ttc" id="yubihsm_8h_html_a2900aee87732f9ec017bd1662bcef7e9"><div class="ttname"><a href="yubihsm_8h.html#a2900aee87732f9ec017bd1662bcef7e9">yh_util_derive_ecdh</a></div><div class="ttdeci">yh_rc yh_util_derive_ecdh(yh_session *session, uint16_t key_id, const uint8_t *in, size_t in_len, uint8_t *out, size_t *out_len)</div><div class="ttdoc">Derive an ECDH key from a private EC key on the device and a provided public EC key. </div></div>
<div class="ttc" id="yubihsm_8h_html_a7cbea7103efff8473ccfaaa35bfc6346"><div class="ttname"><a href="yubihsm_8h.html#a7cbea7103efff8473ccfaaa35bfc6346">yh_util_list_objects</a></div><div class="ttdeci">yh_rc yh_util_list_objects(yh_session *session, uint16_t id, yh_object_type type, uint16_t domains, const yh_capabilities *capabilities, yh_algorithm algorithm, const char *label, yh_object_descriptor *objects, size_t *n_objects)</div><div class="ttdoc">List objects accessible from the session. </div></div>
<div class="ttc" id="yubihsm_8h_html_aa5415bafa9c48dfef0e183d8df504b7ea51cdf2ccd6995498e589e8ea6ce2a1f2"><div class="ttname"><a href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7ea51cdf2ccd6995498e589e8ea6ce2a1f2">YHC_ERROR</a></div><div class="ttdoc">The response byte returned from the device if the command resulted in an error. </div><div class="ttdef"><b>Definition:</b> yubihsm.h:348</div></div>
<div class="ttc" id="yubihsm_8h_html_aa5415bafa9c48dfef0e183d8df504b7ea86a36b37a45067589ed796cc96ab047d"><div class="ttname"><a href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7ea86a36b37a45067589ed796cc96ab047d">YHC_UNWRAP_DATA</a></div><div class="ttdoc">Decrypt (unwrap) data using a Wrap Key. </div><div class="ttdef"><b>Definition:</b> yubihsm.h:339</div></div>
<div class="ttc" id="yubihsm_8h_html_aa5415bafa9c48dfef0e183d8df504b7ea98073b13b11e1b6b8c949fdd55b5beb8"><div class="ttname"><a href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7ea98073b13b11e1b6b8c949fdd55b5beb8">YHC_GENERATE_WRAP_KEY</a></div><div class="ttdoc">Generate a Wrap Key in the device. </div><div class="ttdef"><b>Definition:</b> yubihsm.h:311</div></div>
<div class="ttc" id="yubihsm_8h_html_ae4f602d2343d01b1727dfd633169d366ad28a1a4679841fd8a7388c8b7981d5db"><div class="ttname"><a href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366ad28a1a4679841fd8a7388c8b7981d5db">YHR_DEVICE_OBJECT_EXISTS</a></div><div class="ttdoc">Return value when trying to add an object with an ID that already exists. </div><div class="ttdef"><b>Definition:</b> yubihsm.h:230</div></div>
<div class="ttc" id="structyh__log__entry_html_ab866b36403547d518733745c090f69cc"><div class="ttname"><a href="structyh__log__entry.html#ab866b36403547d518733745c090f69cc">yh_log_entry::target_key</a></div><div class="ttdeci">uint16_t target_key</div><div class="ttdoc">ID of first Object used. </div><div class="ttdef"><b>Definition:</b> yubihsm.h:526</div></div>
<div class="ttc" id="yubihsm_8h_html_aa5415bafa9c48dfef0e183d8df504b7ea580f4a45e7fb32de7cea8475d3397500"><div class="ttname"><a href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7ea580f4a45e7fb32de7cea8475d3397500">YHC_PUT_OTP_AEAD_KEY</a></div><div class="ttdoc">Import an OTP AEAD Key into the device. </div><div class="ttdef"><b>Definition:</b> yubihsm.h:331</div></div>
<div class="ttc" id="yubihsm_8h_html_a498937b5a72accbb0ef21bb1dcdd55caab739a1d142dacaf37ba13a73e2d83fab"><div class="ttname"><a href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caab739a1d142dacaf37ba13a73e2d83fab">YH_ALGO_AES192_CCM_WRAP</a></div><div class="ttdoc">aes192-ccm-wrap </div><div class="ttdef"><b>Definition:</b> yubihsm.h:472</div></div>
<div class="ttc" id="yubihsm_8h_html_ac154da7ac6dc0a7b4b3a6cdff9433da8"><div class="ttname"><a href="yubihsm_8h.html#ac154da7ac6dc0a7b4b3a6cdff9433da8">yh_util_import_authentication_key</a></div><div class="ttdeci">yh_rc yh_util_import_authentication_key(yh_session *session, uint16_t *key_id, const char *label, uint16_t domains, const yh_capabilities *capabilities, const yh_capabilities *delegated_capabilities, const uint8_t *key_enc, size_t key_enc_len, const uint8_t *key_mac, size_t key_mac_len)</div><div class="ttdoc">Import an YH_AUTHENTICATION_KEY into the device. </div></div>
<div class="ttc" id="yubihsm_8h_html_a7b5f1f0c1cbca11fbe21e7e4e6b29a1b"><div class="ttname"><a href="yubihsm_8h.html#a7b5f1f0c1cbca11fbe21e7e4e6b29a1b">yh_util_get_object_info</a></div><div class="ttdeci">yh_rc yh_util_get_object_info(yh_session *session, uint16_t id, yh_object_type type, yh_object_descriptor *object)</div><div class="ttdoc">Get metadata of the object with the specified Object ID and Type. </div></div>
<div class="ttc" id="yubihsm_8h_html_a5392844a98c6220c69fe08d3dcf8f1bc"><div class="ttname"><a href="yubihsm_8h.html#a5392844a98c6220c69fe08d3dcf8f1bc">yh_init</a></div><div class="ttdeci">yh_rc yh_init(void)</div><div class="ttdoc">Global library initialization. </div></div>
<div class="ttc" id="yubihsm_8h_html_aab440e1cb671d9ba7a2e7d1243960e42"><div class="ttname"><a href="yubihsm_8h.html#aab440e1cb671d9ba7a2e7d1243960e42">yh_string_to_capabilities</a></div><div class="ttdeci">yh_rc yh_string_to_capabilities(const char *capability, yh_capabilities *result)</div><div class="ttdoc">Convert capability string to byte array. </div></div>
<div class="ttc" id="structyh__log__entry_html_adbdbdd10828646a96f67438062c909c8"><div class="ttname"><a href="structyh__log__entry.html#adbdbdd10828646a96f67438062c909c8">yh_log_entry::number</a></div><div class="ttdeci">uint16_t number</div><div class="ttdoc">Monotonically increasing index. </div><div class="ttdef"><b>Definition:</b> yubihsm.h:518</div></div>
<div class="ttc" id="yubihsm_8h_html_aa5415bafa9c48dfef0e183d8df504b7ea407b7faa2abc38d9aa7cde15be1a40d6"><div class="ttname"><a href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7ea407b7faa2abc38d9aa7cde15be1a40d6">YHC_GET_LOG_ENTRIES</a></div><div class="ttdoc">Get all current audit log entries from the device Log Store. </div><div class="ttdef"><b>Definition:</b> yubihsm.h:283</div></div>
<div class="ttc" id="yubihsm_8h_html_aa5415bafa9c48dfef0e183d8df504b7ea5320ce29ed6d254f22377dac1abb89c3"><div class="ttname"><a href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7ea5320ce29ed6d254f22377dac1abb89c3">YHC_RESET_DEVICE</a></div><div class="ttdoc">Factory reset a device. </div><div class="ttdef"><b>Definition:</b> yubihsm.h:255</div></div>
<div class="ttc" id="yubihsm_8h_html_ae4f602d2343d01b1727dfd633169d366ad9339b4f96ca48d9c987ce1e05596fe9"><div class="ttname"><a href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366ad9339b4f96ca48d9c987ce1e05596fe9">YHR_CONNECTOR_ERROR</a></div><div class="ttdoc">Return value when connector operation failed. </div><div class="ttdef"><b>Definition:</b> yubihsm.h:232</div></div>
<div class="ttc" id="yubihsm_8h_html_aa5415bafa9c48dfef0e183d8df504b7ea753bb59b9d30189cc0c311d4c9ff4480"><div class="ttname"><a href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7ea753bb59b9d30189cc0c311d4c9ff4480">YHC_SIGN_EDDSA</a></div><div class="ttdoc">Sign data using EdDSA. </div><div class="ttdef"><b>Definition:</b> yubihsm.h:341</div></div>
<div class="ttc" id="yubihsm_8h_html_a498937b5a72accbb0ef21bb1dcdd55caaa4c2625511af2c17ed83da552d3dc5f6"><div class="ttname"><a href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caaa4c2625511af2c17ed83da552d3dc5f6">YH_ALGO_RSA_OAEP_SHA512</a></div><div class="ttdoc">rsa-oaep-sha512 </div><div class="ttdef"><b>Definition:</b> yubihsm.h:446</div></div>
<div class="ttc" id="structyh__object__descriptor_html_a8683d3f22f1e8ba56e3caea8ed8504ec"><div class="ttname"><a href="structyh__object__descriptor.html#a8683d3f22f1e8ba56e3caea8ed8504ec">yh_object_descriptor::id</a></div><div class="ttdeci">uint16_t id</div><div class="ttdoc">Object ID. </div><div class="ttdef"><b>Definition:</b> yubihsm.h:544</div></div>
<div class="ttc" id="yubihsm_8h_html_aa5415bafa9c48dfef0e183d8df504b7eaa146b6b0d6fa832d9cd3ed412e2fb0c0"><div class="ttname"><a href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7eaa146b6b0d6fa832d9cd3ed412e2fb0c0">YHC_CLOSE_SESSION</a></div><div class="ttdoc">Close session. </div><div class="ttdef"><b>Definition:</b> yubihsm.h:257</div></div>
<div class="ttc" id="yubihsm_8h_html_a36e3d9a07c6689e14a9339ca1ebb7259"><div class="ttname"><a href="yubihsm_8h.html#a36e3d9a07c6689e14a9339ca1ebb7259">yh_exit</a></div><div class="ttdeci">yh_rc yh_exit(void)</div><div class="ttdoc">Global library clean up. </div></div>
<div class="ttc" id="yubihsm_8h_html_aa5415bafa9c48dfef0e183d8df504b7ea11337520933c31c92d84ade88832c428"><div class="ttname"><a href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7ea11337520933c31c92d84ade88832c428">YHC_DECRYPT_OTP</a></div><div class="ttdoc">Decrypt a Yubico OTP. </div><div class="ttdef"><b>Definition:</b> yubihsm.h:321</div></div>
<div class="ttc" id="yubihsm_8h_html_ac46bac75dfd0a4358a4e6b432a50e48a"><div class="ttname"><a href="yubihsm_8h.html#ac46bac75dfd0a4358a4e6b432a50e48a">yh_capabilities_to_strings</a></div><div class="ttdeci">yh_rc yh_capabilities_to_strings(const yh_capabilities *num, const char *result[], size_t *n_result)</div><div class="ttdoc">Convert an array of yh_capabilities into strings separated by &amp;#39;,&amp;#39;. </div></div>
<div class="ttc" id="yubihsm_8h_html_aa19be6ac70a2a5d1cef8d7e6902fe05f"><div class="ttname"><a href="yubihsm_8h.html#aa19be6ac70a2a5d1cef8d7e6902fe05f">yh_connect</a></div><div class="ttdeci">yh_rc yh_connect(yh_connector *connector, int timeout)</div><div class="ttdoc">Connect to the device through the specified connector. </div></div>
<div class="ttc" id="yubihsm_8h_html_a1eac22853548b7ceab92550c22233b18"><div class="ttname"><a href="yubihsm_8h.html#a1eac22853548b7ceab92550c22233b18">yh_util_generate_hmac_key</a></div><div class="ttdeci">yh_rc yh_util_generate_hmac_key(yh_session *session, uint16_t *key_id, const char *label, uint16_t domains, const yh_capabilities *capabilities, yh_algorithm algorithm)</div><div class="ttdoc">Generate an HMAC key in the device. </div></div>
<div class="ttc" id="yubihsm_8h_html_a498937b5a72accbb0ef21bb1dcdd55caa788440387af34a9aa10a3e5561c8ee31"><div class="ttname"><a href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caa788440387af34a9aa10a3e5561c8ee31">YH_ALGO_MGF1_SHA384</a></div><div class="ttdoc">mgf1-sha384 </div><div class="ttdef"><b>Definition:</b> yubihsm.h:458</div></div>
<div class="ttc" id="yubihsm_8h_html_a59400bce0478b88e048d5e62b2b0b015aef4e49a3018eee6219e6fdee93b32386"><div class="ttname"><a href="yubihsm_8h.html#a59400bce0478b88e048d5e62b2b0b015aef4e49a3018eee6219e6fdee93b32386">YH_CONNECTOR_HTTPS_CA</a></div><div class="ttdoc">File with CA certificate to validate the connector with (const char *). </div><div class="ttdef"><b>Definition:</b> yubihsm.h:503</div></div>
<div class="ttc" id="yubihsm_8h_html_a431f8b753552a8b2f5f980e871b6d019"><div class="ttname"><a href="yubihsm_8h.html#a431f8b753552a8b2f5f980e871b6d019">YH_OBJ_LABEL_LEN</a></div><div class="ttdeci">#define YH_OBJ_LABEL_LEN</div><div class="ttdoc">Max length of object labels. </div><div class="ttdef"><b>Definition:</b> yubihsm.h:123</div></div>
<div class="ttc" id="yubihsm_8h_html_a00b81c3c9ca2964a672b7b0b725925e4"><div class="ttname"><a href="yubihsm_8h.html#a00b81c3c9ca2964a672b7b0b725925e4">yh_verify_logs</a></div><div class="ttdeci">bool yh_verify_logs(yh_log_entry *logs, size_t n_items, yh_log_entry *last_previous_log)</div><div class="ttdoc">Verify an array of log entries. </div></div>
<div class="ttc" id="yubihsm_8h_html_ae4f602d2343d01b1727dfd633169d366a8d74af61b564f459e4992436499f837c"><div class="ttname"><a href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366a8d74af61b564f459e4992436499f837c">YHR_DEVICE_SESSIONS_FULL</a></div><div class="ttdoc">Return value when no more sessions can be opened on the device. </div><div class="ttdef"><b>Definition:</b> yubihsm.h:205</div></div>
<div class="ttc" id="yubihsm_8h_html_a498937b5a72accbb0ef21bb1dcdd55caae9e58613e12b0f9f445e620f1dd77e1d"><div class="ttname"><a href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caae9e58613e12b0f9f445e620f1dd77e1d">YH_ALGO_RSA_OAEP_SHA1</a></div><div class="ttdoc">rsa-oaep-sha1 </div><div class="ttdef"><b>Definition:</b> yubihsm.h:440</div></div>
<div class="ttc" id="yubihsm_8h_html_a498937b5a72accbb0ef21bb1dcdd55caae22b228e457c9bdccb5a93d81730b1b1"><div class="ttname"><a href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caae22b228e457c9bdccb5a93d81730b1b1">YH_ALGO_AES128_CCM_WRAP</a></div><div class="ttdoc">aes128-ccm-wrap </div><div class="ttdef"><b>Definition:</b> yubihsm.h:448</div></div>
<div class="ttc" id="structyh__object__descriptor_html_a94fcb9bbe5ffacadafc207c166f6239f"><div class="ttname"><a href="structyh__object__descriptor.html#a94fcb9bbe5ffacadafc207c166f6239f">yh_object_descriptor::capabilities</a></div><div class="ttdeci">yh_capabilities capabilities</div><div class="ttdoc">Object capabilities. </div><div class="ttdef"><b>Definition:</b> yubihsm.h:542</div></div>
<div class="ttc" id="yubihsm_8h_html_a5121c90d3bd745afd8264fef2ef39ace"><div class="ttname"><a href="yubihsm_8h.html#a5121c90d3bd745afd8264fef2ef39ace">yh_util_sign_ecdsa</a></div><div class="ttdeci">yh_rc yh_util_sign_ecdsa(yh_session *session, uint16_t key_id, const uint8_t *in, size_t in_len, uint8_t *out, size_t *out_len)</div><div class="ttdoc">Sign data using ECDSA. </div></div>
<div class="ttc" id="structyh__object__descriptor_html"><div class="ttname"><a href="structyh__object__descriptor.html">yh_object_descriptor</a></div><div class="ttdoc">Object descriptor. </div><div class="ttdef"><b>Definition:</b> yubihsm.h:540</div></div>
<div class="ttc" id="yubihsm_8h_html_a59400bce0478b88e048d5e62b2b0b015a90c65d2ccea0060d121c9c60b3a8b2df"><div class="ttname"><a href="yubihsm_8h.html#a59400bce0478b88e048d5e62b2b0b015a90c65d2ccea0060d121c9c60b3a8b2df">YH_CONNECTOR_PROXY_SERVER</a></div><div class="ttdoc">Proxy server to use for connecting to the connector (const char *). </div><div class="ttdef"><b>Definition:</b> yubihsm.h:506</div></div>
<div class="ttc" id="yubihsm_8h_html_a4bb1d420f681bc91bd36dc08695dbad6"><div class="ttname"><a href="yubihsm_8h.html#a4bb1d420f681bc91bd36dc08695dbad6">yh_util_randomize_otp_aead</a></div><div class="ttdeci">yh_rc yh_util_randomize_otp_aead(yh_session *session, uint16_t key_id, uint8_t *out, size_t *out_len)</div><div class="ttdoc">Create OTP AEAD from random data. </div></div>
<div class="ttc" id="yubihsm_8h_html_a59400bce0478b88e048d5e62b2b0b015"><div class="ttname"><a href="yubihsm_8h.html#a59400bce0478b88e048d5e62b2b0b015">yh_connector_option</a></div><div class="ttdeci">yh_connector_option</div><div class="ttdoc">Options for the connector, set with yh_set_connector_option() </div><div class="ttdef"><b>Definition:</b> yubihsm.h:500</div></div>
<div class="ttc" id="yubihsm_8h_html_ae4f602d2343d01b1727dfd633169d366af5f013b1143c6e430778faaca1592e50"><div class="ttname"><a href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366af5f013b1143c6e430778faaca1592e50">YHR_DEVICE_INVALID_ID</a></div><div class="ttdoc">Return value when an invalid Object ID is used. </div><div class="ttdef"><b>Definition:</b> yubihsm.h:220</div></div>
<div class="ttc" id="yubihsm_8h_html_a498937b5a72accbb0ef21bb1dcdd55caad423056b13955068935dc8b3ac0e65d1"><div class="ttname"><a href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caad423056b13955068935dc8b3ac0e65d1">YH_ALGO_EC_K256</a></div><div class="ttdoc">eck256 </div><div class="ttdef"><b>Definition:</b> yubihsm.h:420</div></div>
<div class="ttc" id="yubihsm_8h_html_ab37ae2f7fc6857b420e173284130686d"><div class="ttname"><a href="yubihsm_8h.html#ab37ae2f7fc6857b420e173284130686d">yh_util_verify_hmac</a></div><div class="ttdeci">yh_rc yh_util_verify_hmac(yh_session *session, uint16_t key_id, const uint8_t *signature, size_t signature_len, const uint8_t *data, size_t data_len, bool *verified)</div><div class="ttdoc">Verify a generated HMAC. </div></div>
<div class="ttc" id="yubihsm_8h_html_ae4f602d2343d01b1727dfd633169d366ac2fc63d180fd4b31e93695a75bd89e72"><div class="ttname"><a href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366ac2fc63d180fd4b31e93695a75bd89e72">YHR_DEVICE_STORAGE_FAILED</a></div><div class="ttdoc">Return value when encountering a storage failure on the device. </div><div class="ttdef"><b>Definition:</b> yubihsm.h:209</div></div>
<div class="ttc" id="yubihsm_8h_html_a498937b5a72accbb0ef21bb1dcdd55caa2e5dfe9c79cb0d391d7bf952227268ec"><div class="ttname"><a href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caa2e5dfe9c79cb0d391d7bf952227268ec">YH_ALGO_EC_ECDSA_SHA256</a></div><div class="ttdoc">ecdsa-sha256 </div><div class="ttdef"><b>Definition:</b> yubihsm.h:476</div></div>
<div class="ttc" id="yubihsm_8h_html_ae4f602d2343d01b1727dfd633169d366ab45152628f7dec50379da96a042b9e71"><div class="ttname"><a href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366ab45152628f7dec50379da96a042b9e71">YHR_DEVICE_DEMO_MODE</a></div><div class="ttdoc">Return value when the device is in demo mode and has to be power cycled. </div><div class="ttdef"><b>Definition:</b> yubihsm.h:224</div></div>
<div class="ttc" id="yubihsm_8h_html_aa5415bafa9c48dfef0e183d8df504b7ea8cfbbac56dcb89e8c368335425732818"><div class="ttname"><a href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7ea8cfbbac56dcb89e8c368335425732818">YHC_IMPORT_WRAPPED</a></div><div class="ttdoc">Import a wrapped Object into the device. </div><div class="ttdef"><b>Definition:</b> yubihsm.h:279</div></div>
<div class="ttc" id="yubihsm_8h_html_ae4f602d2343d01b1727dfd633169d366a39fbc5bce29b178582419ae9d31ad252"><div class="ttname"><a href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366a39fbc5bce29b178582419ae9d31ad252">YHR_GENERIC_ERROR</a></div><div class="ttdoc">Return value when encountering an unknown error. </div><div class="ttdef"><b>Definition:</b> yubihsm.h:228</div></div>
<div class="ttc" id="yubihsm_8h_html_aa5415bafa9c48dfef0e183d8df504b7eace06d0b43a2a80581100cf1776a38f0e"><div class="ttname"><a href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7eace06d0b43a2a80581100cf1776a38f0e">YHC_GET_DEVICE_INFO</a></div><div class="ttdoc">Get device metadata. </div><div class="ttdef"><b>Definition:</b> yubihsm.h:253</div></div>
<div class="ttc" id="yubihsm_8h_html_ae4f602d2343d01b1727dfd633169d366ab7388c97719517ba2f7e43d3d16850e1"><div class="ttname"><a href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366ab7388c97719517ba2f7e43d3d16850e1">YHR_DEVICE_INVALID_DATA</a></div><div class="ttdoc">Returned value when the device receives a malformed command invalid data. </div><div class="ttdef"><b>Definition:</b> yubihsm.h:199</div></div>
<div class="ttc" id="yubihsm_8h_html_a498937b5a72accbb0ef21bb1dcdd55caa62dd31db747b4b7f81d9e30877a0b720"><div class="ttname"><a href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caa62dd31db747b4b7f81d9e30877a0b720">YH_ALGO_AES192_YUBICO_OTP</a></div><div class="ttdoc">aes192-yubico-otp </div><div class="ttdef"><b>Definition:</b> yubihsm.h:468</div></div>
<div class="ttc" id="yubihsm_8h_html_ae4f602d2343d01b1727dfd633169d366aa71078f32dee465f1156c337c7e4610e"><div class="ttname"><a href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366aa71078f32dee465f1156c337c7e4610e">YHR_DEVICE_LOG_FULL</a></div><div class="ttdoc">Return value when the log buffer is full and forced audit is set. </div><div class="ttdef"><b>Definition:</b> yubihsm.h:216</div></div>
<div class="ttc" id="yubihsm_8h_html_ab2ca147574f7aa4ba01ee0c52d716b3f"><div class="ttname"><a href="yubihsm_8h.html#ab2ca147574f7aa4ba01ee0c52d716b3f">yh_strerror</a></div><div class="ttdeci">const char * yh_strerror(yh_rc err)</div><div class="ttdoc">Return a string describing an error condition. </div></div>
<div class="ttc" id="yubihsm_8h_html_ab0ca24007ce6942d2185859560c43e8a"><div class="ttname"><a href="yubihsm_8h.html#ab0ca24007ce6942d2185859560c43e8a">yh_util_import_rsa_key</a></div><div class="ttdeci">yh_rc yh_util_import_rsa_key(yh_session *session, uint16_t *key_id, const char *label, uint16_t domains, const yh_capabilities *capabilities, yh_algorithm algorithm, const uint8_t *p, const uint8_t *q)</div><div class="ttdoc">Import an RSA key into the device. </div></div>
<div class="ttc" id="yubihsm_8h_html_a2fe39512cb4df34b270a67dbb8e13583a16f0118db1dac3d0732e7d66630e1dba"><div class="ttname"><a href="yubihsm_8h.html#a2fe39512cb4df34b270a67dbb8e13583a16f0118db1dac3d0732e7d66630e1dba">YH_WRAP_KEY</a></div><div class="ttdoc">Wrap Key is a secret key used to wrap and unwrap Objects during the export and import process...</div><div class="ttdef"><b>Definition:</b> yubihsm.h:369</div></div>
<div class="ttc" id="yubihsm_8h_html_aa7b8b42156c4bdaf41d8b9758a2fd73f"><div class="ttname"><a href="yubihsm_8h.html#aa7b8b42156c4bdaf41d8b9758a2fd73f">yh_util_get_public_key</a></div><div class="ttdeci">yh_rc yh_util_get_public_key(yh_session *session, uint16_t id, uint8_t *data, size_t *data_len, yh_algorithm *algorithm)</div><div class="ttdoc">Get the value of the public key with the specified Object ID. </div></div>
<div class="ttc" id="yubihsm_8h_html_ae4f602d2343d01b1727dfd633169d366a9bc4026d75a26dcaa51ba3310d6b8393"><div class="ttname"><a href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366a9bc4026d75a26dcaa51ba3310d6b8393">YHR_DEVICE_OBJECT_NOT_FOUND</a></div><div class="ttdoc">Return value when the object not found on the device. </div><div class="ttdef"><b>Definition:</b> yubihsm.h:218</div></div>
<div class="ttc" id="yubihsm_8h_html_ae4f602d2343d01b1727dfd633169d366adaa2d37fe61d15e17fdea17586ebfbcd"><div class="ttname"><a href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366adaa2d37fe61d15e17fdea17586ebfbcd">YHR_MAC_MISMATCH</a></div><div class="ttdoc">Returned value when failing to verify MAC. </div><div class="ttdef"><b>Definition:</b> yubihsm.h:193</div></div>
<div class="ttc" id="yubihsm_8h_html_a9d844855c9066bbea0e4344978dd7fdc"><div class="ttname"><a href="yubihsm_8h.html#a9d844855c9066bbea0e4344978dd7fdc">yh_util_set_log_index</a></div><div class="ttdeci">yh_rc yh_util_set_log_index(yh_session *session, uint16_t index)</div><div class="ttdoc">Set the index of the last extracted log entry. </div></div>
<div class="ttc" id="yubihsm_8h_html_aa5415bafa9c48dfef0e183d8df504b7ea99440ca6f76ab150f569f48d2d0bcd25"><div class="ttname"><a href="yubihsm_8h.html#aa5415bafa9c48dfef0e183d8df504b7ea99440ca6f76ab150f569f48d2d0bcd25">YHC_SESSION_MESSAGE</a></div><div class="ttdoc">Send a command over an established session. </div><div class="ttdef"><b>Definition:</b> yubihsm.h:251</div></div>
<div class="ttc" id="yubihsm_8h_html_a82d295a02d9eb628f6dea4b4c01fdec4"><div class="ttname"><a href="yubihsm_8h.html#a82d295a02d9eb628f6dea4b4c01fdec4">yh_util_create_otp_aead</a></div><div class="ttdeci">yh_rc yh_util_create_otp_aead(yh_session *session, uint16_t key_id, const uint8_t *key, const uint8_t *private_id, uint8_t *out, size_t *out_len)</div><div class="ttdoc">Create a Yubico OTP AEAD using the provided data. </div></div>
<div class="ttc" id="yubihsm_8h_html_ae4f602d2343d01b1727dfd633169d366abde0e2f8ca12b6758b246b14a86df11b"><div class="ttname"><a href="yubihsm_8h.html#ae4f602d2343d01b1727dfd633169d366abde0e2f8ca12b6758b246b14a86df11b">YHR_CONNECTOR_NOT_FOUND</a></div><div class="ttdoc">Returned value when failing to find a suitable connector. </div><div class="ttdef"><b>Definition:</b> yubihsm.h:180</div></div>
<div class="ttc" id="yubihsm_8h_html_a498937b5a72accbb0ef21bb1dcdd55caae5963322a0a0f43a1b74faa78e3a7329"><div class="ttname"><a href="yubihsm_8h.html#a498937b5a72accbb0ef21bb1dcdd55caae5963322a0a0f43a1b74faa78e3a7329">YH_ALGO_RSA_4096</a></div><div class="ttdoc">rsa4096 </div><div class="ttdef"><b>Definition:</b> yubihsm.h:412</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.13
</small></address>
</body>
</html>
